最大似然估计简介(以R语言为例)

 admin   2022-08-25 08:13   134 人阅读  0 条评论

简介
诠释模子怎么样工做是数据科-学中最为基本最为主要的疑之一了。当你建设了一位模子之后,她给了你预期的结局,可是她背后的历程是什么呀?做为一位数据科-学家,你需要对这个经常被到的疑做出解了。
比如,假设你建设了一位预料公司股价的模子了。你注重到夜阑人静的时刻,股价上升得很快了。背后应该有多种本因,找出应该性最大的本因即是最大似然预计的意义地址了。这一律念常被用于经济学.MRIs.卫星成像等领域了。
起源YouTube
在这篇短文中,咋们将钻研最大似然预计(以下简称MLE)是怎么样工做的,和她怎么样用于一定拥有任何疏散的模子的系数了。领会MLE将涉及到几率和数学,但我将尝试通过按例使她更通俗易懂了。
. 注如前所述,本文假设你以前领会几率论的基本学了。你能够通过阅读这篇短文来廓清一些基本观点每逐一位数据科-学专注职员都应该知道的几率疏散知识了。
纲发
为什么要运用最大似然预计(MLE)呀?
通过一位实例领会MLE
进一步领会技术细节疏散参数似然对数似然最大似然预计
使用MLE一定模子系数
R语言的MLE完成
为什么要运用最大似然预计(MLE)呀?
假设咋们想预料行-动门的销售情形了。数据的直方图和密度以下了。
你将怎么样为这个变量建模呀?该变量不-是正态疏散的,而且是过错称的,因而不吻合线性回归的假设了。一种经常使用的办法是对变量举行对数.平方根(sqrt).倒数等转换,使转换后的变量听从正态疏散,并举行线性回归建模了。
让咋们试试这些转换,看看结局怎么样
对数转换
平方根转换
倒数转换
所有这些都不靠近正态疏散,那么咋们应该怎么样对这些数据举行建模,才气不违反模子的基本假设呀?怎么样使用正态疏散之外的其余疏散来建模这些数据呀?如果咋们运用了区别的疏散,又将怎么样来预计系数呀?
这即是最大似然预计(MLE)的主要优势了。
举一位按例来加深对MLE的领会
在钻研统计和几率时,你一定遇到过诸如x>100的几率,由于x听从正态疏散,平均值为50,标-准差为10了。在这些疑中,咋们以前知道疏散(在这类情形下是正态疏散)及其参数(均值和标-准差),但在现实生涯疑中,这些参数是未知的,而且必须从数据中预计进去了。MLE能够帮-助咋们一定给定数据的疏散参数了。
让咋们用一位按例来加深领会假设咋们用数据来表现班级中學生的体重(以kg为单元)了。数据以下图所示(还供应了用于变成数据图的R代码)
图 1
x = as.data.frame(rnorm(50,50,10))
ggplot(x, aes(x = x)) + geom_dotplot()
这好像遵照正态疏散了。可是咋们怎么样获得这个疏散的均值和标-准差呀?一种办法是直-接盘算给定数据的平均值和标-准差,分-别为49.8千克和11.37千克了。这些值能很好地表现给定的数据,但还不行以最好地描写所有情形了。
咋们能够运用MLE来获取更稳重的参数预计了。因而,MLE能够界说为从样本数据中预计所有参数(如均值和方差.泊松率(Lambda)等)的办法,从而使获取视察数据的几率(应该性)最大化了。
为了加深对MLE的领会,尝试推测以下哪一项会使视察上述数据的几率最大化呀?
Mean = 100, SD = 10 均值=100,标-准差=10
Mean = 50, SD = 10 均值=50 ,标-准差=10
分明,如果均值为100,咋们就不太应该视察到上述数据疏散图形了。
进一步领会技术细节
知道MLE能做什么之后,咋们就能深入领会什么是着实的似然预计,和怎么样对她最大化了。一最先的时刻,咋们从迅速回首疏散参数最先了。
疏散参数
一最先的时刻,来领会一下疏散参数了。维基百科对这个词的界说以下“她是一位几率疏散的量化指数啊”,能够将她视为样本总数的数值特色或者一位统计模子了。通过下面的图表来领会她
钟形曲线的宽度和高度由两个参数决定-均值和方差了。这即是正态疏散的疏散参数了。一样,泊松疏散由一位参数lambda掌控,即事情在时刻或者空-间距离内发生的次数
大大部-分疏散都有一位或者两个参数,但有一些疏散能够有多达4个参数,好比4参数β疏散了。
似然
从图2和图3中咋们能够看到,给定一组疏散参数,一些数据值比其余数据的几率更大了。从图1中,咋们以前看到,当平均值是50而不-是100时,给定的数据更有应该发生了。可是,在现实中,咋们以前视察到了这些数据了。因而,咋们面临着一位逆向疑给定视察数据和一位感兴趣的模子,咋们需要在所有几率密度中找出一位最有应该发生数据的几率密度函数/几率质量函数(f(x_\θ)了。
为处置这一逆向疑,咋们通过逆转f(x=θ)中数据向量x和(疏散)参数向量θ来界说似然函数,即,
L(θ;x) = f(x| θ)
在MLE中,能够假设咋们有一位似然函数L(θ呀;x),这个内里θ是疏散参数向量,x是视察集了。咋们感兴趣的是追求拥有给定视察值(x值)的最大应该性的θ值了。
对数似然
如果假设视察集(Xi)是自力的同疏散随机变量,几率疏散为f0(这个内里f0=正态疏散,比如图1),那么手头的数学疑就变得简易了了。似然函数能够简化为
为了求这个函数的极大值/极小值,咋们能够取此函数w.r.tθ的导数,并将其设为0(由于零斜率表现最大值或者极小值)了。由于咋们这里有乘积,因此需要运用链式谋划,这对乘积来说是与十分难题的了。一位机灵的窍门是取似然函数的对数,并使其最大化了。这将乘积转换为加法,而且由于对数是一位严酷递增的函数,因而不会影响θ的结局值了。因此咋们有
最大化似然
为找出对数似然函数LL(Th呀;x)的极大值,咋们能够
取LL(θ呀;x)函数w.r.tθ的一阶导数,并将其等价于0,
取LL(θ呀;x)函数w.r.tθ的两阶导数,并确认其为负值了。
在许多情形下,微积分对最大化似然预计有无直-接帮-助,但最大值依然能够很简易地识别进去了。在追求最大对数似然值的参数值时,有无任何东-西比一阶导数即是零拥有越发 “优先啊”或者希奇的职位了。当需要预计一些参数时,她仅仅是一位便利的器械而已了。
在平时情形下,能对函数求最大值的argmax的办法都应该适合于追求log似然函数的最大值了。这是一位无约束的非线性优化疑.咋们追求一种优化算法如以下办法工做
从随意最先点牢靠地收敛到部-分最小化
速率尽应该快
运用优化技术来最大化似然是与十分罕见的呀;能够有多种办法来完成(好比牛顿法.Fisher评分法.种种基于共轭梯度的办法.最陡着落法.Nder-Mead型(单纯形)办法.BFGS法和多种其余技术)了。
结局讲明,当模子假设为高斯时,MLE预计等价于一样平常的最小两乘法了。
你能够遵照这里来证实她了。
用MLE一定模子系数
现在让咋们看看怎么样运用MLE来一定预料模子的系数了。
假设咋们有一位n个视察量y1,y2,…,yn的样本,她们能够被看做是自力的泊松随机变量Yi ∼ P(µi)了。另外,假设咋们希望让均值i(方差也一样!)依赖于变量xi组成的向量了。咋们能够组成以下简易的线性模子-
这个内里θ是模子系数的向量了。这个模子的弱点和缺点是右侧的线性预料器能够假设为任何现实值,而表现希望计数的左侧泊松均值必须是非负的了。这个疑的一位简易的处置办法是用线性模子来模拟平均值的对数了。因而,咋们思考了一位拥有对数链接对数的狭义线性模子,她能够写成以下所示
咋们的目的是使用MLE找出θ
现在,泊松疏散以下
使用在上一节中学到的对数似然观点来求θ了。取上述方程的对数,疏忽包罗log(y!)的常数,咋们获得的对数似然函数是
这个内里,µi依赖协变量xi和θ系数的向量了。咋们能够用变元µi = exp(xi’θ)取代,求解方程,获得最大似然值θ了。获得了θ向量之后,咋们就能通过乘以xi和θ向量来预料平均值的希望值了。
用R语言完成MLE
在本节中,咋们将采用一位着实的数据集,运用前面学到的观点,来处置一位疑了。你能够今后链接下载数据集了。数据会合的示例以下
售日期计
25-08-2012 00:00 8
25-08-2012 01:00 2
25-08-2012 02:00 6
25-08-2012 03:00 2
25-08-2012 04:00 2
25-08-2012 05:00 2
她有从2012年8月25日到2014年九月25日每一小时售出的门数目(约18K纪录)了。咋们的目的是预料每一小时售出的门数目了。这是本文第一节中讨论的统一位数据集了。
这个疑能够用回归.时刻序列等技术来处置了。在这里,咋们将运用咋们以前学习到的统计建模技术,用R语言完变成了。
一最先的时刻,剖析一下数据了。在统计建模中,咋们更体贴的是目的变量是怎么样疏散的了。让咋们看一看计数的疏散
hist(Y$Count, breaks = 50,probability = T ,main = "Histogram of Count Variable")
lines(density(Y$Count), col="red", lwd=2)
这能够看做是泊松疏散,或者者咋们以至能够尝试拟合指数疏散了。
由于手头的变量是的计数,泊松疏散是一位更适合的模子了。指数疏散平时用于模拟事情之中的时刻距离了。
让咋们来盘算一下这两年售出的的数目
看去上面随着时刻的推移,门的销售有了太大的增添了。为了将疑简易化,让咋们仅将时刻做为一位因子来建模,这个内里时刻界说为2012年8月25日以来几个星期了。咋们能够把她写成
这个内里,µ(售出的数)是泊松疏散的平均值,而θ0和θ1是咋们需要预计的系数了。
组合方程1和2,咋们获得以下的对数似然函数
咋们能够运用Rstats 4包中的mle() 函数来预计系数θ0和θ1了。她需要以下主要参数
需要最小化的负似然函数这与咋们刚刚导出的函数一样,但前面有一位负号[最大对数似然度即是最小化负对数似然]了。
系数向量的启程点这是系数的初始预料值了。结局能够依照这些值而转变,由于函数应该到达部-分最小值了。因而,通过运转区别启程点的函数来检查结局是很好的办法了。
BFGS是默许的对似然函数举行优化的办法了。
在咋们的示例中,负对数似然函数的编码以下
nll <- function(theta0,theta1) {
x <- Y$age[-idx]
y <- Y$Count[-idx]
mu = exp(theta0 + x*theta1)
-sum(y*(log(mu)) - mu)
}
我将数据分为训练集和尝试集,以便主观地评价模子的功效了。idx是尝试会合行的指数了。
set.seed(200)
idx <- createDataPartition(Y$Count, p=0.25,list=FALSE)
接下去,挪用mle函数来获取参数
est <- stats4::mle(minuslog=nll, start=list(theta0=2,theta1=0))
summary(est)
Maximum likelihood estimation
Call:
stats4::mle(minuslogl = nll, start = list(theta0 = 2, theta1 = 0))
Coefficients:
Estimate Std. Error
theta0 2.68280754 2.548367e-03
theta1 0.03264451 2.998218e-05
-2 log L: -16594396
咋们获得了系数的预计值,使用RMSE做为获取尝试召集果的评价器量
pred.ts <- (exp(coef(est)['theta0'] + Y$age[idx]*coef(est)['theta1'] ))
rmse(pred.ts, Y$Count[idx])
86.95227
现在,让咋们看看咋们的模子和标-准线性模子(正态疏散的误差)的对比,本模子是用对数计数建模了。
lm.fit <- lm(log(Count)~age, data=Y[-idx,])
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.9112992 0.0110972 172.2 <2e-16 ***
age 0.0414107 0.0001768 234.3 <2e-16 ***
pred.lm <- predict(lm.fit, Y[idx,])
rmse(exp(pred.lm), Y$Count[idx])
93.77393
能够看进去,标-准线性模子的RMSE比咋们的泊松疏散模子要高了。让咋们对比这两个模子在样本上的残差图,看看这些模子在区别的地域中体现怎么样
与通例线性回归对比,泊松回归的误差更靠近于零了。
在Python中,也能够或者者通过运用scipy.optimize.minimize()函数来完成目的函数的最小化,对初始值的预计同BFGS.L-BFGS等参数和办法相似了。
在R语言中,运用stats包中的glm 函数建模越发简易了。她支持泊松,伽玛,两项疏散,Quasi,,逆高斯,拟两项疏散,拟泊松疏散等等了。关于上面所示的示例,能够运用以下下令直-接获取系数
glm(Count ~ age, family = "poisson", data = Y)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 2.669 2.218e-03 1203 <2e-16 ***
age 0.03278 2.612e-05 1255 <2e-16 ***
在Python中也能够或者者运用pymc.glm()函数,并设置为pm.glm.Familes.Poisson()排列了。
尾注
对上述按例的一种思索是,参数空-间中是否存在比标-准线性模子预计更好的系数了。正态疏散是缺省份布,也是最普遍运用的疏散形势,但若采用其余越发准确的疏散,则能够获得更好的结局了。最大似然预计是一种能够用于预计疏散参数而不思考所运用的疏散的技术了。因而,下次当你手头有建模疑时,一最先的时刻看看数据的疏散情形,看看有十分正态疏散更有意义的疏散!
一五一十的代码和数据在我的Gizub存储库中能够找出了。有关运用年龄变量的数据读取.样式化和建模的示例,请参阅“ModelingSingleVariables.R啊”文件了。另外,我还运用了多个变量举行建模,她保留于“
ModelingMultipleVariables.R啊”文件中了。


本文地址:http://51ac.top/post/5769.html
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

 发表评论


表情

还没有留言,还不快点抢沙发?