[英]How to declare the exponential distribution in gam() in mgcv in R
我有一個來自實驗的小數據集,我想擬合一個 gam 模型,該模型規定 Y 的分布以 0.5 的指數呈指數分布。
我的數據是:
x1 x2 y
-1.000000 -1.000000 40
1.000000 -1.000000 5
-1.000000 1.000000 14
1.000000 1.000000 10
-1.414214 0.000000 35
1.414214 0.000000 7
0.000000 -1.414214 18
0.000000 1.414214 9
0.000000 0.000000 7
0.000000 0.000000 4
0.000000 0.000000 0
0.000000 0.000000 2
我嘗試了不同的方式將分布類型傳遞給 gam 函數,但我總是遇到異常。 例如,
model.gam = gam(y ~ x1 * x2, family = exponential(rate=0.5), data = df)
Error in gam(y ~ x1 * x2, family = exponential(rate = 0.5), data = df): family not recognized
model.gam = gam(y ~ x1 * x2, family = exponential(), data = df)
Error in check_dims(rate, target_dim = dim): argument "rate" is missing, with no default
model.gam = gam(y ~ x1 * x2, family = exponential(), data = df, rate = 0.5)
Error in check_dims(rate, target_dim = dim): argument "rate" is missing, with no default
我不認為 gam() 支持這種類型的家庭。
您可能需要考慮 gamlss 包中的 gamlss() 而不是結合 gamlss.dist 包中的 EXP 分發:
https://www.rdocumentation.org/packages/gamlss/versions/5.0-6/topics/gamlss
https://www.rdocumentation.org/packages/gamlss.dist/versions/5.0-4/topics/EXP
請注意,EXP 分布有一個均值參數,而不是比率參數。
有關 gamlss 包的詳細信息,請參閱http://www.gamlss.com 。
此外,對於如此小的數據集,我懷疑您是否可以在您的模型中容納交互項 - 即使擬合兩個主要效應也可能有點牽強。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.