R语言 在从饱和脂肪、纤维和糖预测卡路里的回归中确定最强的预测因子

hgqdbh6s  于 2023-04-03  发布在  其他
关注(0)|答案(1)|浏览(146)

我试图解决这个问题,但我的结果是错误的,任何人都可以帮助我?回归预测饱和脂肪,纤维和糖的卡路里。基于标准化回归系数,确定最强的预测因子。
最后将最强预测因子的非标准化回归系数分配给变量
注意:在从饱和脂肪、纤维和糖预测卡路里的回归中确定最强的预测因子
下面是我的代码:

a <- lm(calories ~ sat_fat + fiber + sugar, data = fastfood)

# standardize
a.beta <- lm.beta(a)

print(a.beta)

summary(a.beta)

coef(a.beta)

结果:

Coefficients:
            Estimate Standardized Std. Error t value Pr(>|t|)    
(Intercept)  75.0383           NA    35.9388   2.088  0.03850 *  
sat_fat      44.4337       0.7073     2.9552  15.036  < 2e-16 ***
fiber        13.7060       0.1282     5.2472   2.612  0.00992 ** 
sugar         9.1996       0.2494     1.8230   5.047 1.29e-06 ***

sat_fat的结果应该是30.84,但是我得到了这个结果!我不确定我的代码的哪一部分是错误的,有人能帮忙吗?

hfsqlsce

hfsqlsce1#

欢迎来到Stack Overflow。一般来说,当提出问题时,请参阅How to make a great R reproducible example。特别是,请注意建议 * 如果您使用任何软件包,请添加您使用的软件包 *。如果其他人能够复制您的数据,则会更快地获得响应。无论如何,我意识到您的fastfood数据在openintro软件包中。
你需要标准化的原因是因为自变量在不同的尺度上。有很多方法可以管理这个,比如缩放你的数据,但是它们在Stack Overflow中是题外话(虽然在Cross Validated中是题外话)。在这种情况下,我们可以只使用t值,它将回归系数除以标准误差。

my_lm <- lm(calories ~ sat_fat + fiber + sugar, data = openintro::fastfood)

model_coef <- summary(my_lm)$coefficients

t_values <- model_coef[, "t value"]
max_coef <- names(t_values[which.max(t_values)]) # sat_fat

max_coef_value <- model_coef[max_coef, "Estimate"]
max_coef_value # 30.84

这是您尝试复制的结果。另请参见How to understand t-value in R's lm()?

相关问题