r 多元有序logistic回归_R语言多分类logistic逻辑回归模型在混合分布模拟单个风险损失值评估的应用...
原文鏈接
拓端數據科技 / Welcome to tecdat?tecdat.cn通常,我們在回歸模型中一直說的一句話是“ 請查看一下數據 ”。在上一篇文章中,我們沒有查看數據。如果我們查看單個損失的分布,那么在數據集中,我們會看到以下內容:
> n=nrow(couts)
> plot(sort(couts$cout),(1:n)/(n+1),xlim=c(0,10000),type="s",lwd=2,col="green")
看來我們的數據庫中有固定成本索賠。在標準情況下,我們如何處理?我們可以在這里使用混合分布,
與
- 小額索賠的分布
,例如指數分布
- 狄拉克分布
,即
- 分布
,例如Gamma分布或對數正態分布
> I1=which(couts$cout<1120)
> I2=which((couts$cout>=1120)&(couts$cout<1220))
> I3=which(couts$cout>=1220)
> (p1=length(I1)/nrow(couts))
[1] 0.3284823
> (p2=length(I2)/nrow(couts))
[1] 0.4152807
> (p3=length(I3)/nrow(couts))
[1] 0.256237
> X=couts$cout
> (kappa=mean(X[I2]))
[1] 1171.998
在上一篇文章中,我們討論了所有參數可能與某些協變量相關的想法,即
產生以下模型,
對于概率,我們應該使用多項式模型。回憶一下邏輯回歸模型,如果
,則
即
要導出多元擴展
和
同樣,可以使用最大似然,因為
在這里,變量
(分為三個級別)分為三個指標(就像標準回歸模型中的任何分類解釋變量一樣)。從而,
對于邏輯回歸,然后使用牛頓拉夫森(Newton Raphson)算法在數值上計算最大似然。在R中,首先我們必須定義級別,例如
> couts$tranches=cut(couts$cout,breaks=seuils,
+ labels=c("small","fixed","large"))
然后,我們可以定義一個多分類logistic模型回歸
使用一些選定的協變量
> formula=(tranches~ageconducteur+agevehicule+zone+carburant,data=couts)
# weights: 30 (18 variable)
initial value 2113.730043
iter 10 value 2063.326526
iter 20 value 2059.206691
final value 2059.134802
converged
輸出在這里
Coefficients:
(Intercept) ageconducteur agevehicule zoneB zoneC
fixed -0.2779176 0.012071029 0.01768260 0.05567183 -0.2126045
large -0.7029836 0.008581459 -0.01426202 0.07608382 0.1007513
zoneD zoneE zoneF carburantE
fixed -0.1548064 -0.2000597 -0.8441011 -0.009224715
large 0.3434686 0.1803350 -0.1969320 0.039414682
Std. Errors:
(Intercept) ageconducteur agevehicule zoneB zoneC zoneD
fixed 0.2371936 0.003738456 0.01013892 0.2259144 0.1776762 0.1838344
large 0.2753840 0.004203217 0.01189342 0.2746457 0.2122819 0.2151504
zoneE zoneF carburantE
fixed 0.1830139 0.3377169 0.1106009
large 0.2160268 0.3624900 0.1243560
為了可視化協變量的影響,還可以使用樣條函數
> library(splines)
> reg=(tranches~bs(agevehicule))
# weights: 15 (8 variable)
initial value 2113.730043
iter 10 value 2070.496939
iter 20 value 2069.787720
iter 30 value 2069.659958
final value 2069.479535
converged
例如,如果協變量是汽車的壽命,那么我們有以下概率
> predict(reg,newdata=data.frame(agevehicule=5),type="probs")
small fixed large
0.3388947 0.3869228 0.2741825
對于0到20歲的所有年齡段,
例如,對于新車,固定成本所占的比例很小(在這里為紫色),并且隨著車齡的增長而不斷增加。如果協變量是駕駛員居住地區的人口密度,那么我們獲得以下概率
# weights: 15 (8 variable)
initial value 2113.730043
iter 10 value 2068.469825
final value 2068.466349
converged
> predict
small fixed large
0.3484422 0.3473315 0.3042263
基于這些概率,可以在給定一些協變量(例如密度)的情況下得出索賠的預期成本。但首先,定義整個數據集的子集
> sbaseA=couts[couts$tranches=="small",]
> sbaseB=couts[couts$tranches=="fixed",]
> sbaseC=couts[couts$tranches=="large",]
閾值由
> (k=mean(sousbaseB$cout))
[1] 1171.998
然后,讓我們運行四個模型,
> reg
> regA
> regB
> regC
現在,我們可以基于這些模型計算預測,
> pred=cbind(predA,predB,predC)為了可視化每個組成部分對溢價的影響,我們可以計算概率,預期成本(給定每個子集的成本),
> cbind(proba,pred)[seq(10,90,by=10),]
small fixed large predA predB predC
10 0.3344014 0.4241790 0.2414196 423.3746 1171.998 7135.904
20 0.3181240 0.4471869 0.2346892 428.2537 1171.998 6451.890
30 0.3076710 0.4626572 0.2296718 438.5509 1171.998 5499.030
40 0.3032872 0.4683247 0.2283881 451.4457 1171.998 4615.051
50 0.3052378 0.4620219 0.2327404 463.8545 1171.998 3961.994
60 0.3136136 0.4417057 0.2446807 472.3596 1171.998 3586.833
70 0.3279413 0.4056971 0.2663616 473.3719 1171.998 3513.601
80 0.3464842 0.3534126 0.3001032 463.5483 1171.998 3840.078
90 0.3652932 0.2868006 0.3479061 440.4925 1171.998 4912.379
現在,可以將這些數字繪制在圖形中,
(水平虛線在我們的數據集中是索賠的平均費用)。
專欄
精算科學
關于結合數學、統計方法以及程序語言對經濟活動來做風險分析、評估的見解。
探索專欄 ?
參考文獻
1.用SPSS估計HLM層次線性模型模型
2.R語言線性判別分析(LDA),二次判別分析(QDA)和正則判別分析(RDA)
3.基于R語言的lmer混合線性回歸模型
4.R語言Gibbs抽樣的貝葉斯簡單線性回歸仿真分析
5.在r語言中使用GAM(廣義相加模型)進行電力負荷時間序列分析
6.使用SAS,Stata,HLM,R,SPSS和Mplus的分層線性模型HLM
7.R語言中的嶺回歸、套索回歸、主成分回歸:線性模型選擇和正則化
8.R語言用線性回歸模型預測空氣質量臭氧數據
9.R語言分層線性模型案例
總結
以上是生活随笔為你收集整理的r 多元有序logistic回归_R语言多分类logistic逻辑回归模型在混合分布模拟单个风险损失值评估的应用...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 主板怎么开启csm_华擎Z490主板移植
- 下一篇: 切换分支 更改只影响当前分支代码_ide