2014-01-21 65 views
0

如何在R中執行多重線性迴歸函數(如lm)以擬合預測規則y = cx^a_1x^b_2(其中x1和x2是屬性,a,b,c是參數, (yi,1,xi,2),yi),i = 1,...,n,其中yi都是正數?R中的多元線性迴歸

回答

3

這是非常難讀你的公式,但如果你的意思是:

Ÿç× X 一個你有(至少= × X b

然後)兩種選擇:

  1. 使用lm(...)與公式:log(y) ~ log(x1) + log(x2)。這將產生截距的估計(log(c)),以及log(x1)log(x2)(分別爲a和b)的係數。這種方法是有風險的,因爲它依賴於響應(在這種情況下爲log(y)),其誤差是常數且方差不變。如果y中的錯誤是正常的且方差不變,那麼log(y)中的錯誤將不會被執行,因此您必須仔細檢查殘差Q-Q曲線以查看是否符合該約束條件。
  2. 直接在非線性模型用你的公式,

例如,

fit = nls(y ~ c*x1^a*x2^b, data=mydata, start=c(a=1, b=1, c=1)) 

nls(...)的問題是,您可能無法收斂你的初步估算A,B,和c(在這裏,1,1和1)離最佳擬合值太遠。一般來說,我會爲這類問題推薦非線性迴歸。