2012-02-23 58 views
4

我有一個雙對數線性函數:如何使用predict()當y_hat同時響應變量和解釋變量進行對數轉換?

lom1 = lm(log(y)~log(x1)+log(x2),data=mod_dt) 

我想y_hat使用相同的數據集,我做

yhat = exp(predict(lom1)) 

結果似乎斷了很多(從與Y比較 - 我在R中手動計算)。

任何理由?

第二個相關問題是,我首先在原始數據集mod_dt中爲y,x1和x2的對數轉換添加了三列。就是說,他們被命名爲遲緩,logx1和logx2,然後我跑了LM:

lom2 = lm(logy ~ logx1 + logx2, data=mod_dt) 

這給了一組不同的係數。

可以這樣通過提前做

exp(predict(lom2)) 

非常感謝給出一個正確的y的帽子。

+0

以指數應該給你正確的預測,並且你描述的兩個程序應該給相同的係數和預測。但沒有可重現的代碼(包含數據),我們無法確定哪裏出了問題。 – 2012-02-23 02:52:06

回答

0

當您的公式等模型被估計時,它會轉換爲未變換比例的Y〜X1 * X2。如果您想要更詳細地查看結果,則需要提供檢查數據。

0

這完全不是一個答案。只是想分享我的一些意見。線性迴歸模型假設E(y)= x * beta。如果y通過log變換,則它變成E(log(y))= x * beta。然而當我們試圖預測y時,通常我們沒有exp(E(log(y)))= E(y)

+0

同意,對數迴歸給出彈性作爲係數,什麼擬合是形式y = x^b的函數,它與y = bx不同 – aatrujillob 2012-02-23 07:39:04

相關問題