R语言作业一:矩估计、极大似然估计、拟合、对数正态分布、泊松分布、负二项分布
一、矩估计、极大似然估计、拟合、对数正态分布
##导入数据
setwd("C:/Users/chang/Documents/SRM-PA/R简介/上课练习数据集")
healthexpend <- read.csv(file="HealthExpend.csv",header=T)
##取其中EXPENDOP>0的数据,记为EXPENDOP
attach(healthexpend)
EXPENDOP<- healthexpend$EXPENDOP[EXPENDOP>0]
EXPENDOP
summary(EXPENDOP)
##做频数直方图
hist(EXPENDOP,freq=T,breaks=10,xlim=c(0,70000))
矩估计(公式求解)
n <- length(EXPENDOP)
m <- mean(EXPENDOP)
v <- var(EXPENDOP)*(n-1)/n # 注意!
sigma1 <- (log(1+(v/(m^2))))^0.5
m1 <- log(m)-1/2*(sigma1^2)
m1;sigma1
## 矩估计(牛顿法)
Newtons <- function(fun,x,ep=1e-2,it_max=100000){index <- 0;k <- 1while(k<=it_max){x1 <- x;obj <- fun(x)x <- x-solve(obj$J,obj$f)times <- sqrt((x-x1)%*%(x-x1))if(times < ep){index <- 1;break}k <- k+1}obj <- fun(x)list(root=x,it=k,index=index,FunVal=obj$f)
}
fun <- function(p){n <- length(EXPENDOP)A1 <- mean(EXPENDOP);M1 <- (n-1)/n*var(EXPENDOP)f <- c(exp(p[1]+p[2]/2)-A1,exp(2*p[1]+p[2])*(exp(p[2])-1)-M1)J <- matrix(c(exp(p[1]+p[2]/2),exp(p[1]+p[2]/2)/2,2*(exp(p[2])-1)*exp(2*p[1]+p[2]),2*exp(2*p[1]+2*p[2])-exp(2*p[1]+p[2])),ncol=2,nrow=2,byrow = T)list(f=f,J=J)
}
newton <- Newtons(fun,c(20,5))
m1a <- newton$root[1]
sigma1a <- (newton$root[2])^0.5
m1a;sigma1a
极大似然估计
fun2 <- function(params){data <- EXPENDOPf <- sum(dlnorm(data,params[1],params[2],log= TRUE))return(-f)
}
nlm1 <- nlm(fun2,c(6,1))
nlm2 <- nlminb(c(6,1),fun2,lower=c(0,0),upper=c(Inf,Inf))
m2 <- nlm2$par[1]
sigma2 <- nlm2$par[2]
m2;sigma2
直方图及对应的拟合的密度曲线
hist(EXPENDOP,freq=F,breaks=10,xlim=c(0,70000),main="直方图及拟合的密度曲线")
curve(dlnorm(x,m1,sigma1),lty=1,col="blue",add=TRUE,lwd=2)
curve(dlnorm(x,m2,sigma2),lty=2,col="red",add=TRUE,lwd=2)
legend("topright",cex=0.6,c("矩估计","极大似然估 计"),col=c("blue","red"),lty=c(1,2),lwd=c(2,2))
经验分布函数及拟合的分布函数
plot(ecdf(EXPENDOP),verticals=TRUE,do.p=FALSE,xlab="EXPENDOP",main="经验分布函数图像",ylab="分布函数",xlim=c(0,70000))
curve(plnorm(x,m1,sigma1),lty=1,col="blue",add=TRUE,lwd=2)
curve(plnorm(x,m2,sigma2),lty=2,col="red",add=TRUE,lwd=2)
legend("bottomright",inset=0.04,cex=0.6,c("矩估计","极大似然估计"),col=c("blue","red"),lty=c(1,2),lwd=c(2,2))
二、题目要求
分别用泊松和负二项分布拟合所给保单赔款次数分布,参数估计方法采用MLE,然后计算泊松分布与负二项分布拟合的保单数,并将两种分布拟合的保单数放在原数据的后两列,将上述表格以CSV表格形式输出。
data1 <- read.csv(choose.files(), header=T)##nlminb练习.csv
fix(data)# 直接手动改数据
n <- as.numeric(data1[1:7,1])#索赔次数,转变成数值型
m <- data1[1:7,2] #保单数
x <- c()##经验数据
for (i in 0:6){x <- append(x,rep(i,m[i+1]))
}
1 、负二项分布
sumlnb <- function(data,parm){sumL <- sum(log(dnbinom(data,size=parm[1],prob=parm[2])))return(-sumL)
}#似然函数
parm0 <- c(3,0.8)#初始参数
best_MLEnb <- nlminb(start=parm0,objective=sumlnb,data=x)##最大化似然函数
best_parmnb <- best_MLEnb$par
best_parmnb#参数估计结果MLEnb <- round(dnbinom(n,size=best_parmnb[1],prob=best_parmnb[2])*100000,0)
2、泊松分布
sumlpoi<- function(data,parm){sumL <- sum(log(dpois(data,lambda=parm)))return(-sumL)
}
parm1 <- 3
best_MLEpoi <- nlminb(start=parm1,objective=sumlpoi,data=x)
best_parmpoi <- best_MLEpoi$par
best_parmpoiMLEpoi <- round((dpois(n,lambda=best_parmpoi))*100000,0)
结果输出
nlminb_result <- data.frame("赔款次数"=n, "保单数"=m, "负二项分布拟合结果"=MLEnb, "泊松分布拟合结果"=MLEpoi)
nlminb_result
write.csv(nlminb_result, "nlminb_result.csv")
R语言作业一:矩估计、极大似然估计、拟合、对数正态分布、泊松分布、负二项分布相关推荐
- R语言-回归系数的极大似然估计
老师要求我们对回归方程中的回归系数进行极大似然估计,回归方程如下: 计算步骤如下: 步骤一:写出似然函数log(β),其中的β为(β0,β1,β2)t(β_0, β_1, β_2)^t(β0,β1 ...
- 机器学习笔记1.矩估计、极大似然估计。
1.矩估计 1.1矩估计思想: 矩估计是基于一种简单的"替换"思想,即用样本矩估计总体矩 1.2矩估计理论: 矩估计的理论依据就是基于大数定律的,大数定律语言化表述为:当总体的k阶 ...
- 统计学笔记1:截尾分布的矩估计与极大似然估计
截尾分布的矩估计与极大似然估计 在参数估计中,我们通常喜欢用极大似然估计来估计一个参数,这样估计的参数通常具有良好的性质,但有时其并不那么容易求解.在参数估计中,矩估计的计算方法较为简易,但其结果的偏 ...
- 贝叶斯网专题11:参数学习之极大似然估计
第一部分:贝叶斯网基础 1.1 信息论基础 1.2 贝叶斯网基本概念 1.3 变量独立性的图论分析 第二部分:贝叶斯网推理 2.1 概率推理中的变量消元方法 2.2 团树传播算法 2.3 近似推理 2 ...
- 似然函数的意义与极大似然估计
什么是概率? 简单来说,概率是一个函数,定义域是样本空间,满足非负性,规范性,可列可加性. 严格的公理化定义如下: 概率可以做什么?统计又可以做什么? 什么是先验概率,后验概率,似然? 先验概率:根据 ...
- 一文看懂 “极大似然估计” 与 “最大后验估计” —— 极大似然估计篇
参考: 唐宇迪<人工智能数学基础>第8章 Richard O. Duda <模式分类>第三章 白板机器学习 P2 - 频率派 vs 贝叶斯派 频率学派还是贝叶斯学派?聊一聊机器 ...
- 极大似然估计,最大后验估计的区别
最近机器学习课程推出了比较细致的作业,让我得已有机会学习的机会 1,通过学习理解,极大似然估计是在"模型已知,参数未知"的情况下,利用采样得到的数据(即类似对现实中的一些数据进行人 ...
- 基于接收信号强度(RSS)的室内定位/无线传感器网络定位——极大似然估计ML/最小二乘估计WLS
基于接收信号强度(RSS)的室内定位/无线传感器网络定位--极大似然估计ML/最小二乘估计WLS 原创不易,路过的各位大佬请点个赞 针对AOA,TOA,TDOA,RSS等室内定位.导航的探讨.技术支持 ...
- 基于到达时间(TOA)的室内定位(/无线传感器网络定位)——极大似然估计ML
基于到达时间(TOA)的室内定位(/无线传感器网络定位)--极大似然估计ML 原创不易,路过的各位大佬请点个赞 针对AOA,TOA,TDOA,RSS等室内定位.导航的探讨.技术支持.==代码(有偿)= ...
最新文章
- 愿疫情早日过去,向那些在疫情战斗中牺牲的战士致敬
- listview 重复动画效果
- USACO network of school 强连通分量
- Linux cached过高问题
- BZOJ 4242 水壶(BFS建图+最小生成树+树上倍增)
- 共享单车再涨价,真要骑不起了!
- String与StringBuilder区别总结
- 4)Thymeleaf th:each 循环迭代与 th:if、th:switch 条件判断
- 破解WIFI密码之密码字典
- mysql数据库压缩_Mysql压缩解决方案
- ERROR 1356 (HY000): View 'information_schema. SCHEMATA'
- Blue Screen Of Death ( BSOD ) 错误信息解析解释
- Stay hungry. Stay foolish.
- 3大场景、4款新品公开亮相:「低速智能驾驶」新赛道惹关注
- 四舍六入五成双的意思
- C语言对称矩阵的判定
- 清明时节——《荒原的呼唤》选载之三
- html table文字竖,表格里的文字怎么竖排
- 最美情侣怎么用计算机,最美情侣参赛宣言
- 你应该在你的域名中使用www吗?
热门文章
- 跨专业计算机研究生如何毕业论文,跨专业考研论文要求
- e会学计算机课后作业答案,大学语文网课答案e会学
- 【GA MTSP】基于matlab GUI遗传算法求解多旅行商问题(多起点不同终点)【含Matlab源码 935期】
- 智能切换微信群活码二维码创建教程
- 春招大厂上岸学长带你有效春招找工作
- latex审阅版添加行号,遇见公式就缺失行号
- 国企计算机技术岗都干什么,大家听说的国企技术岗都是什么样子的?
- html5批量修改本地文件名,文件名批量更名技巧;将文件夹名添加到文件名上-批量修改文件名...
- 米转经纬度_经纬度换算米(经纬度精度换算米数)
- markdown 目录一键生成和转为 word 格式