当响应变量和解释变量都进行对数转换时,如何使用predict()获取y_hat?

发布于 2025-01-08 10:27:45 字数 505 浏览 1 评论 0 原文

我有一个对数-对数线性函数:

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

我想使用相同的数据集获得 y_hat,

yhat = exp(predict(lom1))

结果似乎相差很多(与我在 R 中手动计算的 y-hat 进行比较)。

有什么理由吗?

第二个相关问题是,我首先在原始数据集mod_dt中添加了三列,用于y、x1和x2的对数转换。比如说,它们被命名为 logy、logx1 和 logx2,然后我运行 lm:

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

这给出了一组不同的系数。

提前非常感谢,这可以给出正确的 y-hat 吗

exp(predict(lom2))

I have a log-log linear function as:

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

I want to get y_hat using the same data set and I did

yhat = exp(predict(lom1))

Result seems off a lot (from comparing with the y-hat I calculated manually in R).

Any reason?

The second related question is, I first added three more columns in the original data set mod_dt for the log transformations of y, x1 and x2. Say, they are named as logy, logx1 and logx2, and then I ran lm:

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

This gives a different set of coefficients.

Can this give a correct y-hat by doing

exp(predict(lom2))

Many thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

哆兒滾 2025-01-15 10:27:45

当估计诸如您的公式之类的模型时,它会在未转换的范围内转换为 Y ~ X1 * X2。如果您想对您的结果进行更具体的审查,您将需要提供数据进行检查。

When a model such as your formula is estimated, it translates to Y ~ X1 * X2 on the untransformed scale. You will need to provide data for examination if you want to get more specific review of your results.

双手揣兜 2025-01-15 10:27:45

这并不是一个确切的答案。只是想分享一些我的看法。线性回归模型假设 E(y) = x * beta。如果 y 经过 log 变换,则变为 E(log(y)) = x * beta。然而,当我们尝试预测 y 时,通常我们没有 exp(E(log(y))) = E(y)

It's not an answer exactly. Just want to share some of my opinions. A linear regression model assumes E(y) = x * beta. If y is transformed by log, it becomes E(log(y)) = x * beta. However when we try to predict y, usually we don't have exp(E(log(y))) = E(y)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文