2015-11-10 95 views
0

我在Matlab中使用函數fitlm在響應變量y和預測變量x之間執行線性迴歸。在我的分析中,我還包括一個權重變量,w。但是,權重變量只能是一個列向量,我想同時控制多個因素。我也嘗試了函數robustfit,LinearModel.fitlscov,但所有這些函數只能使用單個列向量作爲權重。具有多個權重的Matlab迴歸

讓我舉個例子:y是按下按鈕的響應時間,x是響應的準確度,而weights = [gender age weight height]。我希望能夠同時控制所有這些變量。有沒有辦法在Matlab中進行這種多重權重回歸?

+3

歡迎SO。這些似乎是創建[mcve](http://stackoverflow.com/help/mcve)的一個簡單問題。如果人們可以運行你的代碼,那麼理解你的問題就容易多了,你會更容易得到一些幫助... – lhcgeneva

+3

@lhcgeneva你可以用'[mcve]'代替,它會直接打印link +寫出的首字母縮寫詞 – Adriaan

+0

謝謝! – lhcgeneva

回答

1

加權迴歸意味着一些數據點或多或少重要,即如果一個點具有非常高的權重,它不應該遠離模型。你所描述的不是一個加權迴歸。

在你的情況下,你想控制額外的變量,這意味着你適合形式爲y = ax + b [gender] + c [age] + ...的模型,即你正在檢查其他變量具有強或弱的解釋效果。

對於linearModel.fit,你會因此使用

model = LinearModel.fit([x,gender,age,weight,height],y) 
+0

感謝您的評論!我進行了你建議的分析。然而,因爲我已經發現這些變量,比如[性別年齡高度]也與響應變量y相關,我希望能夠從x和y之間的相關性中部分地排除它們的可能影響,以便最終我即使控制這些因素,x和y之間的關係仍然很重要。我是這種加權迴歸的新手,所以如果我的評論不明確,我真的很抱歉。 –

+0

嗨, 我覺得這個Matlab函數可以做到我想要的: [rho,pval] = partialcorr(x,y,z) 這是測試x和y之間的部分線性相關性,同時控制變量ž。缺點是id沒有描述x和y之間線性相關性的子函數。 –