SSブログ

資産管理電卓v0.16.35.0 追加機能説明12 [資産管理電卓(LineCalc)]

資産管理電卓v0.16.35.0 追加機能説明の続きです。

・cor(ID(配列名1),ID(配列名2),[,同じインデックスとする範囲,[開始インデックス[,終了インデックス]]])
 配列の相関係数(Correlation coefficient)を返す

関数 cor は配列の相関係数を返します。

相関係数とは共分散の値が大きくなりすぎたり小さすぎたりして扱いにくいので -1~1 の値に収まるように正規化した値を返します。
配列2つの同じインデックス(または近い)値をそれぞれの配列の平均値で減算し掛け合わせたものを全て足し合わせて配列の数で割ったものを配列1の標準偏差*配列2の標準偏差で割ったものです。

同じインデックス(または近い)ものだけが計算されます。

seq(
 letdim(foo , 1 , 10),
 letdim(foo , 2 , 20),
 letdim(foo , 3 , 300),

 letdim(foo2 , 1 , 15),
 letdim(foo2 , 2 , 22),
 letdim(foo2 , 3 , 100),

 cor(foo,foo2)
)


標準偏差はプラスマイナスが無くなってプラスだけになった値です。
つまりは共分散の値のそれぞれの符号をプラスにして計算したもので共分散の最大値を示します。
その値で割るので -1(相関が最低)~1(相関が最大)の値に収まることになります。
共分散の各計算値が全てプラスかマイナスであれば 1 または -1 になり、プラスであったりマイナスであったりする度合いが増える程0 に近づいていきます。
x,y軸に 配列1、配列2の値を割り当てて点をプロットしていくと 1 だと右上上がりの直線に近づき、-1 だと右下下がりの直線に近づき、0に近づくほどバラバラのランダムな点群に近づきます。

配列はソートされ、インデックスが一致したものが計算されますが、一致するインデックスには範囲を指定できます。

seq(
 letdim(foo , 10 , 10),
 letdim(foo , 15 , 20),
 letdim(foo , 30 , 300),

 letdim(foo2 , 15 , 15),
 letdim(foo2 , 20 , 22),
 letdim(foo2 , 35 , 100),

 cor(foo,foo2,5)
)

上の例では範囲の幅指定を 5 としているのですが、頭から範囲内のインデックスをペアにするため、
(10,15),(15,20),(30,35) というペアで計算されます。この場合 (15,15) という完全一致のペアがありますが、範囲の計算上抽出されません。
cov と同じです。

インデックスの範囲を指定することもできます。

cor($dat_kawase,$dat_kabu)

僕の環境では $dat_kawase にドル円の為替の日々の値、$dat_kabu に円換算株総資産額が入っていますがその相関を取ると 0.464 と出ました。
相関の関係は正の相関が半分ぐらいの強度であるという事になります。

コメント(0) 
共通テーマ:日記・雑感

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。