[英]How do I aggregate data for glm() function in R
我正在嘗試使用 glm 估計保險定價的相對性。 我在 CASdatasets 中使用“freMPTL”。 ClaimNb 是我的回應,Exposure 是我的 Exposure,我對 ClaimNb/Exposure 感興趣。
將較大的類別(例如駕駛員年齡(18-99))划分為較小的前組之后。 5個類別,我使用分組數據
data_grouped_freq <- data_freq4 %>%
group_by(Power, Brand, Gas, Region, CarAge_cat, DriverAge_cat, Density_cat) %>%
summarise(ClaimNb = sum(ClaimNb),
Exposure = sum(Exposure))
之后我使用命令
model_freq <- glm(ClaimNb ~ Power + Brand + Gas + Region + CarAge_cat + DriverAge_cat + Density_cat,
family = poisson, data = data_grouped_freq, weights = Exposure)
summary(model_freq)
到 plot 一個 glm。 那么結果就是
Deviance Residuals:
Min 1Q Median 3Q Max
-255.241 -2.634 -0.929 -0.202 199.629
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 4.8629082 0.0011698 4156.99 <2e-16 ***
Powerd -0.4660131 0.0014613 -318.90 <2e-16 ***
Powere -0.7155983 0.0013723 -521.44 <2e-16 ***
Powerg -0.4131892 0.0010905 -378.89 <2e-16 ***
...
RegionPoitou-Charentes -2.3903228 0.0052288 -457.14 <2e-16 ***
CarAge_cat1 -1.2547176 0.0021645 -579.68 <2e-16 ***
DriverAge_cat1 -0.7913098 0.0022811 -346.90 <2e-16 ***
DriverAge_cat2 -1.2886084 0.0024688 -521.96 <2e-16 ***
我知道這是錯誤的,因為 DriverAge_cat1 具有更高的 ClaimNb/Exposure 比率,因此應該導致相對性>1,而 exp(-18.9082) 不是。 (cat1 的 ClaimNb/Exposure 比率為 0.134,而 DriverAge_cat1 的參考組為 0.071)
有人可以解釋我做錯了什么嗎? 是不是有很多類別的 0 聲明導致問題? 也許我處理錯了重量? 7 個變量共有 14661 個單元格。
在用於創建泊松率 model 的 GLM 代碼中,您應該使用參數偏移量-
model_freq <- glm(ClaimNb ~ Power + Brand + Gas + Region + CarAge_cat + DriverAge_cat + Density_cat,
family = poisson, data = data_grouped_freq, offset= log(Exposure))
上面修改的代碼應該可以解決您的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.