京公网安备 11010802034615号
经营许可证编号:京B2-20210330
优化与求解非线性方程组(单变量问题)
求函数极值的问题通常被化简为求解导数为0的点的问题。所以优化问题通常与解非线性方程组联系起来。在前面写点估计中的mle时,我们介绍了R中求解方程极值的函数nlm(),optim().
我们以一元函数f(x)=ln(x)/(1+x)为例求解函数的极值。
f<-function(x) -log(x)/(1+x) #(1)
optimize(f,c(0,10)) #求解(0,10)上的最小值,对于一元函数区间的确定,我们通常可以画图来做初步判断
对于多元函数:
f <- function(x) sum((x-1:length(x))^2)
nlm(f, c(10,10))#这里需要给出迭代的初值
optim(c(10,10),f)
由于nlm,optim,的默认迭代方法不同,得出的结果精度也会有区别。运行上面的代码,我们可以看到nlm给出的最小值点为(1,2),而optim给出的是(1.000348, 2.001812)。
我们也可以通过求解函数的导数为0的点求解函数的极值。还是以1式为例。运行下面的代码:
D(expression(log(x)/(1+x)),"x")
结果为:1/x/(1 + x) - log(x)/(1 + x)^2。 (2)
对于这样的方程,我们通常是没有好的办法让R给出解析解的。我们可以使用一些数值办法来求解方程(2)的数值解。常用的办法有:二分法,newton法,fisher得分法,不动点迭代法。下面我们来简单介绍算法的思想与R的实现代码。
一、二分法
二分法的思想十分简单,利用的就是函数的中值定理,局限也十分明显,只能求解出一个根而且速度较慢。所以函数的单调性,作图都是解决第一个局限的办法。
给出方程(1)的极小值利用二分法的求解程序:
fzero<-function(f,a,b,eps=1e-6){注:跟踪导函数值为0来检测收敛情况是诱人的,但是存在不稳定性,利用绝对收敛准则解决了这一问题(当然用相对收敛准则也是可以的)
二、Newton法
Newton-rapshon迭代是一种快速求根方法。主要利用泰勒级数展开来解决问题。
利用0=g’(x)=g’(x(t))+g’’(x(t))(x-x(t))(后面的等式是近似成立)来近似g’(x)。解上述的这个方程,我们可以得到一个很好的线性近似,迭代方程为:
X(t+1)=x(t)+g’(x(t))/g’’(x(t))
收敛条件依然使用绝对收敛。对于方程(1),有:
> D(expression(log(x)/(1+x)),"x")
1/x/(1 + x) - log(x)/(1 + x)^2
> D(expression(1/x/(1 + x) - log(x)/(1 + x)^2),"x")
-(1/x^2/(1 + x) + 1/x/(1 + x)^2 + (1/x/(1 + x)^2 - log(x) * (2 * (1+ x))/((1 + x)^2)^2))
问题的newton增量为:h(t)=((x(t)+1)(1+1/x(t)-logx(t))/(3+4/x(t)+1/(x(t))^2-2logx(t))
给出方程(1)的极小值利用newton法的求解程序:
三、Fisher得分法
我们知道fisher信息量是对数似然函数的二阶导数的期望的相反数。所以在求解g对应着的mle优化时,使用fisher信息量替换是合理的。这里不再给出程序。
四、切线法
在牛顿法的基础上,我们把导数改为曲线上两点的连线的斜率显然也十分的合理。这便是切线法的基本想法。我们还是给出上面例子的R程序:
f0<-function(x){五、不动点迭代法
除去二分法外,我们所讨论的都是不动点迭代的特例。这里只是简要叙述一下不动点迭代法的原理,并以开篇的例子给出R程序。
不动点定理是一个结果表示函数F在某种特定情况下,至少有一个不动点存在,即至少有一个点x能令函数F(x)=x。在数学中有很多定理能保证函数在一定的条件下必定有一个或更多的不动点,而在这些最基本的定性结果当中存在不动点及其定理被应用的结果具有非常普遍的价值。
ffour<-function(f0,a,eps=1e-6){这里还想说一点的就是关于不动点迭代的条件(百度一下,你就知道),如果不满足的话,需要对导函数前乘上一个系数加以调整,本例中的4*f0(a)+a正是调整刻度的结果。
<pre class="plain" name="code"></pre>
<pre></pre>
<pre></pre>
<pre></pre>
<pre></pre>
<pre></pre>
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
CDA数据分析师 出品 作者:李诗怡 1. IF:基础条件判断(最常用) 作用:根据指定条件的真(TRUE)或假(FALSE),返回两种不同 ...
2026-10-30“不限专业可以考的证书”这个搜索词背后,通常藏着一个很实际的担心:专业不对口,想考个证拓宽出路,但怕报了名才发现有专业限 ...
2026-10-30先回答:能考的多是技能实操类证书 40岁、初中学历,能报的证书主要集中在四类:职业技能等级证书、专项职业能力证书、特种作业 ...
2026-10-3030岁考什么证好找工作,没有一张“通用答案”。同样的证书,对有行业经验的人和准备跨行的人,价值完全不同。更实际的思路是:先 ...
2026-10-30“专业职业技术资格证书”并不是一个正式名称,而是把好几种证书混在一起的口语说法。有人用它指会计、经济这类职称考试,有人指 ...
2026-10-30大学生能考的证书,大致分四类:通用基础类、职业资格类、专业技术资格类、岗位技能与行业认证类。真正要解决的问题不是“还有哪 ...
2026-10-30“需要考哪些证书”这个问题,没有统一答案。因为“需要”至少分三种:有的证书是入职准入,没有它连岗位门槛都进不去;有的证书 ...
2026-10-30“现在什么证含金量高好考一些”,这个问题里其实藏着两个容易打架的条件。含金量高的证书,往往有报考门槛、考试周期长;好考的 ...
2026-10-30“现在考什么证最吃香”,这个问题本身藏着一个容易踩的坑:不同人说“吃香”,指的往往不是同一件事。有人指考的人多、话题热; ...
2026-10-30文凭低,不等于没证可考,但选择空间确实窄一些。学历门槛明确的准入类资格,比如部分教师资格、法律职业资格、执业医师等,通常 ...
2026-10-30土建专业的大学生问“考什么证”,最容易踩的坑是把注册类证书当成在校目标。注册建造师、注册造价工程师、注册结构工程师、监理 ...
2026-10-30中年男人考证书,最怕两件事:一是年龄、学历卡在报名门槛外,白准备半年;二是考完发现岗位用不上,钱和时间都打了水漂。所以顺 ...
2026-10-30大专学历能考的证书不少,但真正值得投入时间的,是先确认“能不能报”,再看“考了对应什么岗位”。很多证书的报考条件里写着本 ...
2026-10-30“十大建议考的证书”这个问题,很难有一份对所有人都成立的名单。同一张证书,对会计专业大三学生、想转行做数据分析的运营、以 ...
2026-10-30“什么证书有用含金量高”这个问题,很难用一张榜单回答。同一本证书,对想进医院的人可能是硬门槛,对做运营的人却用不上;对已 ...
2026-10-30在职成年人问“考什么证书有用”,先要弄清自己需要哪一种“有用”。同一张证书,对想进入准入行业的人、想在本岗晋升的人、想转 ...
2026-10-30“女生能考的证书”真正要先回答的是“你现在的条件能报什么”。学历、专业、工作年限、是否在校、所在地区政策,直接决定你能不 ...
2026-10-30“女孩考什么证书比较好”这句话里,“比较好”其实藏着三种完全不同的标准:好考,看的是报考门槛低、备考周期短;好就业,看的 ...
2026-10-30先给结论:市场岗位没有一张通吃的证书。品牌传播、数字营销与投放、用户增长、用户研究、营销数据分析,这五条路径对应的工作任 ...
2026-10-30经济学专业考什么证书,没有统一答案。经济学毕业后去向很散:有人进银行、证券、基金,有人做财务审计,有人转数据分析与经营分 ...
2026-10-30