我正在寻找一种方法来添加模型中每个变量的预测(真实,非标准化)值
> model<-gam(LN_Brutto~s(agecont,by=Sex)+factor(Sex)+te(Month,Age)+s(Month,by=Sex),
data=bears)
这是我的模型的摘要:
> summary(m13)
Family: gaussian
Link function: identity
Formula:
LN_Brutto ~ s(agecont, by = Sex) + factor(Sex) + te(Month, Age) +
s(Month, by = Sex)
Parametric coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.32057 0.01071 403.34 <2e-16 ***
factor(Sex)m 0.27708 0.01376 20.14 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Approximate significance of smooth terms:
edf Ref.df F p-value
s(agecont):Sexf 8.1611 8.7526 20.170 < 2e-16 ***
s(agecont):Sexm 6.6695 7.5523 32.689 < 2e-16 ***
te(Month,Age) 10.3651 12.7201 6.784 2.19e-12 ***
s(Month):Sexf 0.9701 0.9701 0.641 0.430
s(Month):Sexm 1.3750 1.6855 0.193 0.787
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Rank: 60/62
R-sq.(adj) = 0.781 Deviance explained = 78.7%
GCV = 0.048221 Scale est. = 0.046918 n = 1093
此代码提供了预测值:
> predict<-predict(m13, type = "terms")
结果如下所示:
factor(Sex) s(agecont):Sexf s(agecont):Sexm te(Month,Age) s(Month):Sexf s(Month):Sexm
1 0.2770806 0.000000000 0.111763696 -0.077845764 0.000000000 0.0007840912
2 0.2770806 0.000000000 0.240016156 -0.049143798 0.000000000 0.0007840912
3 0.2770806 0.000000000 0.034328752 0.046524454 0.000000000 -0.0058871897
4 0.0000000 -0.786533918 0.000000000 -0.067942427 0.021990192 0.0000000000
5 0.0000000 0.074434715 0.000000000 0.046524454 0.021990192 0.0000000000
6 0.0000000 0.161121563 0.000000000 0.089599601 0.021990192 0.0000000000
7 0.0000000 0.074434715 0.000000000 0.046524454 0.021990192 0.0000000000
8 0.2770806 0.000000000 -0.298597370 -0.007877328 0.000000000 -0.0058871897
...
但我猜这些只是标准化的预测值,而不是真实值(真实值应该没有负值!?)。
那么有谁知道我必须在代码中修改什么才能获得真正的价值?任何的想法?谢谢!