Kodama's home / tips.
いくつかのグラフを作成するが, その意味の詳細については省略する. データ列を分析する手法としては, フラクタル解析や 時系列分析などのテキストを読むと良い.
ruby の多項式クラス から, polynomialm.rb の行の長さの分布を調べてみる.
$ gawk '(length($0)>3){print length($0)}'< polynomialm.rb | sort -nr | gnuplot gplot.txt > polym.png以下で, gnuplot に与えるコマンドファイル gplot.txt を変えて様々なグラフを作る.
set terminal png plot "< cat" using ($0+1):($1)
set terminal png set logscale y; plot "< cat" using ($0+1):($1) # linear-log
set terminal png set logscale y; plot "< cat" using ($1):($0+1) # linear-log
set terminal png set logscale xy; plot "< cat" using ($0+1):($1) # log-log
5-.:----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+- 91 10-.:----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+---- 94 15-.:----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+ 80 20-.:----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+--- 78 25-.:----+----+----+----+----+----+----+----+----+----+----+----+----+----+-- 72 30-.:----+----+----+----+----+----+----+----+----+----+----+----+----+ 65 35-.:----+----+----+----+----+----+----+----+----+----+----+ 55 40-.:----+----+----+----+----+----+----+----+- 41 45-.:----+----+----+----+----+----+----+----+----+----+-- 52 50-.:----+----+----+----+----+--- 28 55-.:----+----+----+----+--- 23 60-.:----+----+----+--- 18 65-.:----+----+----+----+ 20 70-.:----+----+ 10 75-.:----+---- 9 number: 736, average: 29.501359 standard deviation: 17.859430, coefficient of variation: 0.605377 range: 74.000000, range/average: 2.508359 variance: 318.959237, skewness: 0.658964, kurtosis: 2.643561
どの形式でグラフを作っても比較的滑らかなグラフが得られている. つまり, 自然に指数分布/幾何分布していることを意味している. これは, プログラムを書き下すときの改行するという行動が, ポアソン分布またはパスカル分布的に起こっているという事ではないだろうか.
編集によって, 20文字以下の行が少くなるために, サイズが 20 の辺りで急に折れ曲がっているなどの 人為的な編集の兆候が見られるのでは無いかと思っていた. グラフが滑らかというのは, この調整に特別な癖がないと云うことを意味しているのだろうか?
図2 で見ると, 行の長さが 20 と 60 の辺りで緩やかにカーブしていることがわかる.
つまり, 多少は, 行の長さの調整の影響が見えているように思われる.
ヒストグラムでも 20 以下のサイズの行が少めになっているように見える.
行に詰め込みすぎる癖があることは自覚しているが...
Kodama's home / tips.