【Excel】【VBA】相関係数の算出サンプル

EXCEL

以下の問題の実証をしたく作成したプログラム

問題

変数x(x>0) 、yの間にy=x2なる関係が成立している場合の、変数xとyの相関係数を求めよ

Sub 相関係数()
    
    
    Const StartPos As Long = 1
    Const Count As Long = 3000
    Const EndPos As Long = StartPos + Count
    
    
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("sheet1")
    ws.Cells.ClearContents
    
    
    
    Dim i As Long, j As Long
    '公式
    Dim X As Long, Y As Long
    
        
    ws.Cells(1, "A") = "X"
    ws.Cells(1, "B") = "Y=X^2"
    ws.Cells(1, "C") = "相関係数"
    
    
    For i = StartPos To EndPos
        
        '計算
        X = i
        Y = X ^ 2 ' Xの2条
        
        ws.Cells(i + 1, "A") = X
        ws.Cells(i + 1, "B") = Y
        DoEvents
    Next i
    
    ws.Range("C2") = "=CORREL(A:A,B:B)"
End Sub

実行すると、C2に相関係数が出力される。出力結果は 1以下 具体的にはデータ数30000 で 0.968266006

ライセンス:本記事のテキスト/コードは特記なき限り CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。

コメント

タイトルとURLをコピーしました