2010-12-17 181 views
1

我有兩個依賴於兩個變量和彼此依賴,這可以在R(必須!)模擬,但我不知道如何,任何人提示?多變量回歸

在明確的條款:

我想我的數據有以下型號Model:分別coef2出現在兩個行 兮,易建聯是輸入和輸出數據

Y1=X1*coef1+X2*coef2 
Y2=X1*coef2+X2*coef3 

我到目前爲止:

lm(Y1~X1+X2,mydata) 

現在我該如何添加該模型的第二行包括交叉依賴性?

非常感謝您的幫助! 乾杯,巴斯蒂安

+3

這個問題可能是適用於HTTP: //stats.stackexchange.com/您可能還想更改標題,因爲多元迴歸似乎並不是您想要的:這只是「lm(cbind(Y1,Y2)〜X1 + X2,mydata)」,其中相當於分別進行兩個迴歸而不會限制兩個權重相等。你可能需要研究結構方程模型。軟件包'sem','lavaan'和'OpenMx'會讓你更進一步。你也可以看看http://cran.r-project.org/doc/contrib/Fox-Companion/appendix-sems.pdf – caracal 2010-12-17 22:04:33

+0

當你在r-help中提出這個問題時,Y1和Y2是x和y投影距離取決於角度。從來沒有弄清楚有多少測量值,分析中每個單元有哪些計數,或者分析師是否需要控制離中心的距離。如果你會包含更多的上下文,你可能會得到更好的答案。 – 2010-12-17 23:01:18

+0

僅在2年後檢查。我以爲我只發佈在R-Help中。無論如何,我的解決方案是遠離R,或者寧可留在R中而不使用函數構建。有點令人失望,但它的工作。 – Bastiaan 2012-06-12 20:28:29

回答

4

試試這個:

# sample data - true coefs are 2, 3, 4 
set.seed(123) 
n <- 35 
DF <- data.frame(X1 = 1, X2 = 1:n, X3 = (1:n)^2) 
DF <- transform(DF, Y1 = X1 * 2 + X2 * 3 + rnorm(n), 
      Y2 = X1 * 3 + X2 * 4 + rnorm(n)) 

# construct data frame for required model 
DF2 <- with(DF, data.frame(y = c(Y1, Y2), 
x1 = c(X1, 0*X1), 
x2 = c(X2, X1), 
x3 = c(0*X2, X2))) 

lm(y ~. - 1, DF2) 

我們看到它,實際上,恢復的真實coefs 2,3,4:

> lm(y ~. - 1, DF2) 

Call: 
lm(formula = y ~ . - 1, data = DF2) 

Coefficients: 
    x1  x2  x3 
2.084 2.997 4.007