「現実の応用における一般線形モデルの自己相関問題の解決方法」
『美容とファッションの世界で必ず注目されるトレンド』
データサイエンティストの最も一般的な悩みの一つに深く立ち入る
導入
線形回帰の最大の問題の一つは自己相関のある残差です。この文脈で、この記事では線形回帰を再訪し、この問題を解決するためのCochrane-Orcutt手法について探求し、fMRI脳活性化解析の実世界アプリケーションを探求します。
一般線形モデル(GLM)再訪
線形回帰はおそらく任意のデータサイエンティストにとって最も重要なツールの一つです。しかし、特に時系列の文脈では多くの誤解が存在することがよくあります。そのため、この概念を再訪する時間を使いましょう。時系列解析におけるGLMの主要な目標は、時間の経過にわたる変数間の関係をモデル化することです。ここで、Yは対象データ、Xは特徴データ、BとAは推定する係数、そしてƐはガウス誤差です。

インデックスはデータの時間的進化に言及しています。より簡潔な形で書くと:

著者によるもの。
- AIとMLによる株式取引の革命:機会と課題
- 「設定パラメータを使用して、ChatGPTの出力を改善する方法」
- VoAGI ニュース、12月 13日 データサイエンスをマスターするための5つの超便利なチートシート• データサイエンスのためのGoogleのNotebookLMの使用:包括的なガイド
パラメータの推定は、最小二乗法(OLS)によって行われます。これは、観測値とモデルによって予測された値との間の誤差または残差が、独立かつ同一分布(i.i.d)であると仮定しています。
これは、係数の正しい推定、モデルの有効性、および予測の正確性を確保するために、残差が非自己相関である必要があることを意味します。
自己相関
自己相関は、時系列内の観測間の相関を指します。これは、各データポイントが系列内の遅延データポイントとどのように関連しているかを捉えることができます。
自己相関関数(ACF)は、自己相関を検出するために使用されます。これらの方法は、データポイントとその遅延値(t = 1,2, …, 40)との相関を計測し、データポイントが前後の値と関連しているかを明らかにします。ACFプロット(図1)は、異なる遅延での相関係数を表示し、自己相関の強さと影の領域での統計的有意性を示します。

特定のラグでの係数がゼロから有意に異なる場合、自己相関の存在が示唆されます。
残差の自己相関
残差の自己相関は、現在の誤差と過去の誤差との関係または依存関係が時系列内に存在することを示します。この相関パターンは、誤差がランダムでなく、モデルに考慮されていない要因によって影響を受ける可能性があることを示します。たとえば、自己相関は特に分散においてバイアスのあるパラメータの推定を引き起こし、変数間の関係の理解に影響を与えます。これにより、モデルからの無効な推論が生じ、変数間の関係について誤った結論が導かれる可能性があります。さらに、効率の低い予測につながり、つまり適切な情報をキャプチャしていないことを意味します。
コクラン-オルカット手続き
コクラン-オルカット手続きは、経済計量学やさまざまな分野で自己相関の問題に対処するための手法であり、時系列データにおける誤差項の直線モデルを通じて時系列の自己相関を扱うために使用されます[1,2]。私たちは既に、これが最小二乗法(OLS)回帰の仮定の1つである、誤差(残差)が無相関であるという仮定に違反することを知っています[1]。後ほど、この手続きを使用して自己相関を除去し、係数のバイアスをチェックする予定です。
コクラン-オルカット手続きは以下のように実行されます:
- 1. 初期のOLS回帰:最初に、最小二乗法(OLS)を使用してモデルパラメータを推定する初期の回帰分析を行います。

- 2. 残差の計算:初期の回帰から残差を計算します。
- 3. 自己相関の検定:自己相関の存在をACFプロットやダービン-ワトソン検定などのテストを用いて残差を調べます。もし自己相関が有意でなければ、手続きを進める必要はありません。
- 4. 変換:推定モデルは、自己相関を除去するために従属変数と独立変数を差分化して変換されます。ここでのアイデアは、残差を無相関に近づけることです。

- 5. 変換されたモデルの回帰:変換されたモデルで新たな回帰分析を行い、新たな残差を計算します。
- 6. 自己相関の検査:新たな残差に対して再度自己相関を検査します。もし自己相関が残る場合は、ステップ4に戻り、残差が有意な自己相関を示さないまでモデルをさらに変換します。
最終モデルの推定:自己相関が有意でない残差を示すようになった場合、コクラン-オルカット手続きから得られた最終モデルと係数を使用して推論と結論を導出します!
実世界の応用:機能的磁気共鳴画像(fMRI)解析
fMRIの簡単な紹介
機能的磁気共鳴画像(fMRI)は、脳活動を血流の変化を検出することによって測定・マッピングする神経画像法です。脳の神経活動と増加した血流および酸素供給との関連性に基づいています。fMRIでは、脳領域が活動すると、血液酸素化による血液動態応答が引き起こされ、血液酸素レベル依存(BOLD)信号の変化が生じます。 fMRIデータは通常、異なる時間点での脳活性化を表す3D画像から構成されており、したがって脳の各ボクセルにはそれぞれ独自の時系列があります(図2)。
GLMは、測定されたfMRI信号が、タスク情報とニューラル活動のヘモダイナミクス応答関数(HRF)と呼ばれる期待される応答の線形結合であると仮定します。単純化のため、HRFの性質は無視し、重要な特徴であると仮定します。
タスクが生じるBOLD信号(従属変数)への影響を理解するために、GLMを使用します。これは、タスク情報に関連する統計的に有意な係数をチェックすることを意味します。したがって、X1とX2(独立変数)は、参加者によって実行されたタスクに関する情報であり、データ収集とHRF(図3)との畳み込みによって得られます。

実データへの応用
この実世界の応用を確認するために、ABC連邦大学のJoão Sato教授が収集したデータを使用します。これはGitHubで入手可能です。独立変数fmri_dataには、1つのボクセル(単一の時系列)のデータが含まれていますが、脳内のすべてのボクセルに対して実行することもできます。タスク情報を含む従属変数はcongとincongです。これらの変数の解説はこの記事の範囲外です。
#データの読み込みfmri_img = nib.load('/Users/rodrigo/Medium/GLM_Orcutt/Stroop.nii')cong = np.loadtxt('/Users/rodrigo/Medium/GLM_Orcutt/congruent.txt')incong = np.loadtxt('/Users/rodrigo/Medium/GLM_Orcutt/incongruent.txt')#各ボクセルの時系列データを取得fmri_data = fmri_img.get_fdata()#HRF関数HRF = glover(.5)#タスクデータをHRFと畳み込むconv_cong = np.convolve(cong.ravel(), HRF.ravel(), mode='same')conv_incong = np.convolve(incong.ravel(), HRF.ravel(), mode='same')
タスク情報変数(特徴量)の視覚化。

GLMの適合
最小二乗法を使用してモデルに適合させ、モデルパラメータを推定すると、次のようになります
import statsmodels.api as sm#1つのボクセル(時系列)を選択y = fmri_data[20,30,30]x = np.array([conv_incong, conv_cong]).T#予測変数に定数を追加x = sm.add_constant(x)#線形回帰モデルに適合model = sm.OLS(y,x).fit()#モデルサマリを表示print(model.summary())params = model.params


係数X1が統計的に有意であることが分かります。なぜなら、P > |t|が0.05以下だからです。これは、タスクが実際にBOLD信号に影響を与える可能性があることを意味します。ただし、これらのパラメータを推論に使用する前に、残差(つまり予測値からのy)がどのラグでも自己相関を持たないかを確認することが重要です。そうでない場合、推定値はバイアスがかかっています。
残差の自己相関のチェック
すでに話し合われたように、ACFプロットは系列の自己相関をチェックするための良い方法です。

ACF プロットを見ると、ラグ1で高い自己相関が検出されます。したがって、この線形モデルはバイアスがあり、この問題を修正することが重要です。
残差の自己相関を解消するためのコクラン・オーカット法
コクラン・オーカット手続きは、このような問題を解決するために、fMRIデータ解析で広く使用されています[2]。この特定の場合、残差のラグ1の自己相関は有意であるため、コクラン・オーカット式を使用して自己回帰項AR(1)を求めることができます。

# LAG 0yt = y[2:180]# LAG 1yt1 = y[1:179]# calculate correlation coef. for lag 1rho= np.corrcoef(yt,yt1)[0,1]# Cochrane-Orcutt equationY2= yt - rho*yt1X2 = x[2:180,1:] - rho*x[1:179,1:]
変換モデルの適合
コクラン・オーカット補正後にモデルを再び適合させる。
import statsmodels.api as sm#add constant to predictor variablesX2 = sm.add_constant(X2)#fit linear regression modelmodel = sm.OLS(Y2,X2).fit()#view model summaryprint(model.summary())params = model.params


現在、係数X1は統計的に有意ではなくなり、タスクがBOLD信号に影響を与えるという仮説を破棄します。パラメータの標準誤差の推定値は大幅に変化しましたが、これは残差の自己相関の推定値への高い影響を示しています。
再度自己相関のチェック
これは、自己相関がある場合、分散が常にバイアスされる可能性があるため、理にかなっています[1]。

今では残差の自己相関が取り除かれ、推定値はもはやバイアスがありません。残差の自己相関を無視した場合、係数を有意だと考えることができます。ただし、自己相関を除去した後、パラメータが有意でないことが判明し、タスクが信号に関連しているという見かけの推論を回避します。
結論
一般線形モデルの残差の自己相関は、バイアスのある推定値、効率の低い予測、無効な推論を引き起こす可能性があります。実世界のfMRIデータへのコクラン・オーカット手法の適用は、残差の自己相関を除去し、誤った結論を回避することにおいてその効果を示しており、モデルパラメータの信頼性と分析から得られた推論の正確性を保証しています。
備考
コクラン–オルカット法は、残差の自己相関を解決するための方法の一つです。ただし、Hildreth-Lu手順やファースト・ディファレンス法[1]など、この問題に対処する他の手法もあります。
謝辞
このプロジェクトは、佐藤・リカルド教授のインスピレーションを受けています。
この記事のノートは こちらで入手可能です。
参考文献
[1] Applied Regression Modeling, Iain Pardoe. Wiley, 2023. https://online.stat.psu.edu/stat462/node/189/
[2] 佐藤リカルド、髙橋大祐、カルドーゾEF、マーチンMdaG、アマロジュニアE、モレッティンPA。「FMRIに応用された機能連結性の介入モデル」Int J Biomed Imaging. 2006;2006:27483. doi:10.1155/IJBI/2006/27483
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles