Я ищу метод, чтобы добавить значения предсказывал (реальная, а не нормируется) каждой отдельной переменной в моей моделиКак извлечь установленные значения GAM {mgcv} для каждой переменной в R?
> 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
...
Но я думаю, что это только стандартизированные предсказанные значения, а не реальные значения (реальные не должны иметь отрицательных значений !?).
Так кто-нибудь знает, что мне нужно изменить в коде, чтобы получить реальные значения? Любая идея? Спасибо!
это работает, но это просто дает мне стандартизированные значения ... вы знаете команду, чтобы дать мне реальные значения? Спасибо! –
Мне было бы легче помочь вам, если бы вы могли предоставить минимальный рабочий пример с данными, к которым я могу легко получить доступ. – johansteen
Сделал некоторые изменения! Если вам нужна дополнительная информация, PLS, дайте мне знать. –