Origin は、ocmath_multiple_linear_regression関数を使用して多重回帰を行います。この関数は、データの重みと線形回帰オプションを提供しています。この関数を実行した後、フィットパラメータやANOVA統計、推定の共分散と相関の行列といった詳細な出力が可能です。
次のセクションでは、この関数を使用して多重線形回帰を実行する方法を示します。
多重線形回帰を実行する前に、データをインポートします。ここでは、3つの独立変数と1つの従属変数が必要です。
1.多重線形回帰のためのデータをロードします。独立データyは、matrixに、従属データはvectorに格納する必要があります。
// 1. 多重線形回帰のデータを取得 Worksheet wks = Project.ActiveLayer(); if( !wks ) return; // データのワークシートがアクティブであることを確認 DataRange dr; dr.Add("X", wks, 0, 0, -1, 2); // 最初の3列 dr.Add("Y", wks, 0, 3, -1, 3); // 4列目 matrix mX; dr.GetData(mX, 0, 0); // 最初の3列のデータをmatrixへ取得 vector vY; dr.GetData(&vY, 1); // 4列目のデータを取得
2.パラメータ初期値を宣言して関数に渡します。
// 2. 入力と出力変数を用意 UINT nOSizeN = mX.GetNumRows(); // 観測数 UINT nVSizeM = mX.GetNumCols(); // 独立変数の合計数 LROptions stLROptions; // 線形回帰オプションの設定のために使用 stLROptions.UseReducedChiSq = 1; FitParameter stFitParameters[4]; // nVSizeM+1にする UINT nFitSize = nVSizeM+1; // FitParameterのサイズ RegStats stRegStats; // フィットの統計取得のために使用 RegANOVA stRegANOV; // anova統計取得のために使用
3.用意したパラメータを関数に渡し、多重線形回帰を実行します。
// 3. 多重線形回帰を実行 // ここでは推定の共分散と相関の行列は取得せず、重みも使用しない int nRet = ocmath_multiple_linear_regression(mX, nOSizeN, nVSizeM, vY, NULL, 0, &stLROptions, stFitParameters, nFitSize, &stRegStats, &stRegANOV); if( nRet != STATS_NO_ERROR ) { out_str("Error"); return; }
計算が完了したら、スクリプトウィンドウ、結果ログ、ワークシートなどに結果を出力できます。
詳細は、結果ウィンドウに出力、ワークシートに出力 のセクションを確認してください( 分析とアプリケーション:カーブフィッティング:線形フィット )