天天看點

r語言logistic回歸_R語言邏輯回歸和泊松回歸模型對發生交通事故機率模組化

r語言logistic回歸_R語言邏輯回歸和泊松回歸模型對發生交通事故機率模組化

原文連結

http://tecdat.cn/?p=14139​tecdat.cn

我們已經看到了如何考慮風險敞口,計算包含風險敞口的多個數量(經驗均值和經驗方差)的非參數估計量。讓我們看看如果要對二項式變量模組化。

這裡的模型如下:

  • 未觀察到

該期間的索賠數量

  • 索償的數量
r語言logistic回歸_R語言邏輯回歸和泊松回歸模型對發生交通事故機率模組化

考慮一種情況,其中關注變量不是索償的數量,而僅僅是索償發生的标志。然後,我們希望将事件模型

對比

,解釋為不發生和發生。鑒于我們隻能觀察

vs

。利用蔔瓦松過程模型,我們可以獲得

r語言logistic回歸_R語言邏輯回歸和泊松回歸模型對發生交通事故機率模組化

這意味着在一年的前六個月中沒有索賠的機率是一年中沒有索賠的平方根。假設可以

通過一些連結函數(使用GLM術語)表示為一些協變量來解釋沒有索賠的機率,

r語言logistic回歸_R語言邏輯回歸和泊松回歸模型對發生交通事故機率模組化

現在,因為我們确實觀察到

而不是

我們有

r語言logistic回歸_R語言邏輯回歸和泊松回歸模型對發生交通事故機率模組化

我們将使用的資料集

  1. > T1= contrat$nocontrat[I==FALSE]
  2. > nombre2 = data.frame(nocontrat=T1,nbre=0)
  3. > sinistres = merge(contrat,nombre)
  4. > sinistres$nonsin = (sinistres$nbre==0)

我們可以考慮的第一個模型基于标準的

邏輯回歸方法
r語言logistic回歸_R語言邏輯回歸和泊松回歸模型對發生交通事故機率模組化

很好,但是很難用标準函數處理。盡管如此,始終有可能通過數值計算給定的最大似然估計量。

  1. > optim(fn=logL,par=c(-0.0001,-.001),
  2. + method="BFGS")
  3. $par
  4. [1] 2.14420560 0.01040707
  5. $value
  6. [1] 7604.073
  7. $counts
  8. function gradient
  9. 42 10
  10. $convergence
  11. [1] 0
  12. $message
  13. NULL

現在,讓我們看看基于标準回歸模型的替代方案。例如對數線性模型(Logistic回歸算法)。因為暴露數是年機率的幂,是以如果

是指數函數(或

對數連結函數) ,因為

r語言logistic回歸_R語言邏輯回歸和泊松回歸模型對發生交通事故機率模組化

現在,我們對其進行編碼,

  1. Error: no valid set of coefficients has been found: please supply starting values

嘗試了所有可能的方法,但是無法解決該錯誤消息,

  1. > reg=glm(nonsin~ageconducteur+offset(exposition),
  2. + data=sinistresI,family=binomial(link="log"),
  3. + control = glm.control(epsilon=1e-5,trace=TRUE,maxit=50),
  4. + start=startglm,
  5. + etastart=etaglm,mustart=muglm)
  6. Deviance = NaN Iterations - 1
  7. Error: no valid set of coefficients has been found: please supply starting values

是以我決定放棄。實際上,問題出在

接近1 的事實。因為

r語言logistic回歸_R語言邏輯回歸和泊松回歸模型對發生交通事故機率模組化

其中

r語言logistic回歸_R語言邏輯回歸和泊松回歸模型對發生交通事故機率模組化

接近0,是以我們可以用泰勒展開,

r語言logistic回歸_R語言邏輯回歸和泊松回歸模型對發生交通事故機率模組化

在這裡,暴露數不再顯示為機率的幂,而是相乘。如果我們考慮對數連結函數,那麼我們可以合并暴露數的對數。

現在可以完美運作了。

現在,要檢視最終模型,我們回到

Poisson回歸

模型,因為我們确實有機率模型

現在我們可以比較這三個模型。我們還應該包括沒有任何解釋變量的預測。對于第二個模型(實際上,它運作時沒有任何解釋變量),我們運作

  1. > regreff=glm((1-nonsin)~1+offset(log(exposition)),
  2. + data=sinistres,family=binomial(link="log"))

預測

  1. > exp(coefficients(regreff))
  2. (Intercept)
  3. 0.06776376

可與邏輯回歸比較,

  1. > 1-exp(param)/(1+exp(param))
  2. [1] 0.06747777

但是與泊松模型有很大的不同,

  1. (Intercept)
  2. 0.07279295

我們産生一個圖表比較那些模型,

  1. > lines(age,1-yml1,type="l",col="purple")
  2. > abline(h=exp(coefficients(regreff)),lty=2)
r語言logistic回歸_R語言邏輯回歸和泊松回歸模型對發生交通事故機率模組化

在這裡觀察到這三個模型是完全不同的。實際上,使用兩個模型,可以進行更複雜的回歸分析(例如使用樣條曲線),以可視化年齡對發生或不發生交通事故機率的影響。如果将泊松回歸(仍為紅色)和對數二項式模型與泰勒展開進行比較,我們得到

r語言logistic回歸_R語言邏輯回歸和泊松回歸模型對發生交通事故機率模組化

參考文獻

1.R語言多元Logistic邏輯回歸 應用案例

2.面闆平滑轉移回歸(PSTR)分析案例實作

3.matlab中的偏最小二乘回歸(PLSR)和主成分回歸(PCR)

4.R語言泊松Poisson回歸模型分析案例

5.R語言回歸中的Hosmer-Lemeshow拟合優度檢驗

6.r語言中對LASSO回歸,Ridge嶺回歸和Elastic Net模型實作

7.在R語言中實作Logistic邏輯回歸

8.python用線性回歸預測股票價格

9.R語言如何在生存分析與Cox回歸中計算IDI,NRI名額

繼續閱讀