日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【R语言-20行代码】牛顿迭代法求伽马函数极大似然估计法的参数估计

發布時間:2025/4/16 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【R语言-20行代码】牛顿迭代法求伽马函数极大似然估计法的参数估计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡述

研究了下計算公式,簡化了一下,用r語言實現了。

算法解釋

  • 牛頓迭代法
    xk+1=xk?f(xk)f′(xk)x_{k+1} = x_k - \frac{f(x_k)}{f'(x_k)}xk+1?=xk??f(xk?)f(xk?)?
    求解的方程是
    f(x)=0f(x) = 0f(x)=0

  • 通過極大似然估計,構造對數似然方程,之后再關于α\alphaαβ\betaβ 求偏導數。之后,得到關于α\alphaα的非線性對數似然方程。然后,β\betaβ可以用α\alphaα表示。

  • 再進一步的簡化(去掉無關的項,再整理相關的項)
    得到需要求解的方程為
    log(α)+digamma(α)=0log(\alpha) + digamma(\alpha) = 0log(α)+digamma(α)=0

  • 再求一下這個方程左邊的導數
    1α+trigamma(α)\frac{1}{\alpha} + trigamma(\alpha)α1?+trigamma(α)

  • 初始值,使用通過矩估計得到的參數。

代碼部分

除掉前面的讀取數據加一行的空格,不就是小于20行咩

  • TIMES 的是迭代次數
  • 1e-5 表示的是最小的變動精度

講真,我用這個精度,我算了4次迭代,就得到正確結果了。

library(xlsx) ray = read.xlsx('D:/Code/R/Data in Excel/Chapter 8/gamma-arrivals.xls',1) mean_ray = mean(ray[,1]) var_ray = var(ray[,1])alpha = mean_ray**2 / var_ray origin_X = alpha f = function(a){log(a)+ digamma(a) } ff = function(a){1. / a + trigamma(a) } TIMES = 10 for (i in 1:TIMES){x = origin_X -f(origin_X) / (ff(origin_X))if (abs(x - origin_X) < 1e-5) {print(i)break} else {origin_X = x} } print(x)

總結

以上是生活随笔為你收集整理的【R语言-20行代码】牛顿迭代法求伽马函数极大似然估计法的参数估计的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。