Octave还支持线性最小二乘最小化。也就是说,Octave可以找到参数b使得模型y=x*b拟合数据(x,y)假设零均值高斯噪声。如果假设噪声是各向同性的,则可以使用\或/’运算符,或ols
作用在假设噪声是各向异性的一般情况下gls
需要。
[beta, sigma, r] =
ols (y, x)
¶普通最小二乘(OLS)估计。
OLS适用于多元模型y= x*b+ e这里的y是t通过</p>矩阵x是t通过k矩阵b是k通过</p>矩阵,以及e是t通过</p>矩阵
每行y是</p>-变量观测,其中每列代表一个变量。同样,的行x代表k-可变的观测值或可能的设计值。此外,收集的意见x必须具有足够的等级,k否则b无法唯一估计。
观测误差,e,被认为源于一个未成年人</p>-零均值的变量分布</p>通过</p>协方差矩阵S,都是恒定条件x。此外,矩阵S对于每个观测都是恒定的,这样意思是e) = 0
和冠状病毒(e))=kron(s, 我)
(对于不符合此标准的情况,如自相关误差,详见广义最小二乘法,gls,以获得更有效的估计。)
返回值贝塔, sigma和r定义如下。
矩阵的OLS估计b.
贝塔直接通过计算inv(x*x) * x * y
如果矩阵x*x
是完全级别的。否则贝塔=针(x) * y
这里的pinv(x)
表示的伪逆x.
矩阵的OLS估计s,
sigma= (y-x*贝塔)' * (y-x*贝塔) / (t等级x))
OLS残差矩阵,r= y- x*贝塔
.
[beta, v, r] =
gls (y, x, o)
¶广义最小二乘(GLS)模型。
对多元模型执行广义最小二乘估计y= x*B+ E这里的y是t通过</p>矩阵x是t通过k矩阵b是k通过</p>matrixande是t通过</p>矩阵
每行y是</p>-变量观测,其中每列代表一个变量。同样,的行x代表k-可变的观测值或可能的设计值。此外,收集的意见x必须具有足够的等级,k否则b无法唯一估计。
观测误差,e,被认为源于一个未成年人</p>-具有零均值但可能具有等方差观测的变量分布。也就是说,意思是e) = 0
和冠状病毒(e)) = (s2.o
这里的s是标量,并且o是t*p通过t*p矩阵
返回值贝塔, v和r定义如下。
矩阵的GLS估计b.
标量的GLS估计s^2.
GLS残差矩阵,r= y- x*贝塔.
详见: ols.
x =
lsqnonneg (c, d)
¶x =
lsqnonneg (c, d, x0)
¶x =
lsqnonneg (c, d, x0, options)
¶[x, resnorm] =
lsqnonneg (…)
¶[x, resnorm, residual] =
lsqnonneg (…)
¶[x, resnorm, residual, exitflag] =
lsqnonneg (…)
¶[x, resnorm, residual, exitflag, output] =
lsqnonneg (…)
¶[x, resnorm, residual, exitflag, output, lambda] =
lsqnonneg (…)
¶减少标准c*x- d)
约束条件为x>= 0
.
c和d必须是实矩阵。
x0是解决方案的可选初始猜测x.
param是一个参数结构体,用于更改算法的行为(详见最优集
). lsqnonn
识别这些参数:MaxIter
, TolX
.
输出:
残差的平方2-范数:标准c*x-d2.
残差:d-c*x
收敛的指标。0表示超过了迭代次数,因此未达到收敛;>0表示算法收敛。(该算法是稳定的,并且会在多次迭代后收敛。)
具有两个字段的结构体:
算法
:使用的算法(nnls
)iterations
:执行的迭代次数。拉格朗日乘子。如果这些值为非零,则对应的x值应为零,表示解决方案被压向一个坐标平面。幅度表示如果x>= 0
朝着那个方向放宽了限制。
x =
lscov (A, b)
¶x =
lscov (A, b, V)
¶x =
lscov (A, b, V, alg)
¶[x, stdx, mse, S] =
lscov (…)
¶计算广义线性最小二乘拟合。
估计x在模型下b= Ax+ w,其中噪声w假设遵循具有协变矩阵的正态分布{\sigma^2}V.
如果系数矩阵的大小A是n-by-p,常数项的向量/数组的大小b必须是n-by-k。
可选输入参数五、可以是正权重(逆方差)的n元向量,或者表示的协方差的n乘n对称正半定义矩阵b如果五、则返回普通最小二乘解。
这个alg输入自变量是关于使用的解决方法的指导,目前已被忽略。
除了最小二乘估计矩阵x(p-by-k),函数也返回stdx(p-by-k),估计的误差标准偏差x; 毫秒(k-by-1),估计的数据误差协方差比例因子(\sigma^2); 和S(p-by-p,或p-by-p-by-k,如果k>1),的误差协方差x.
参考文献:Golub和Van Loan(1996),矩阵计算(第三版),约翰霍普金斯大学,第5.6.3节
()
¶options =
optimset ()
¶options =
optimset (par, val, …)
¶options =
optimset (old, par, val, …)
¶options =
optimset (old, new)
¶为优化函数创建参数结构体。
当在没有任何输入或输出自变量的情况下调用时,最优集
打印所有有效优化参数的列表。
当使用一个输出而没有输入进行调用时,返回一个参数结构体,其中所有有效的参数参数初始化为[]
.
当使用参数/值对列表进行调用时,返回一个仅初始化了命名参数的optionstructure。
当第一个输入是现有参数结构体时老的,值从标准杆数/val列表或从参数结构体新.
如果标准杆数与标准参数的名称不完全匹配,最优集
将尝试匹配标准杆数为标准参数,如果找到匹配项,将设置该参数的值。匹配不区分大小写,基于参数名称开头的字符匹配。最优集
如果查找多个不明确的匹配,则会返回错误。如果没有找到匹配的标准参数,则会报警告并创建非标准参数。
有效参数的标准列表:
指定详细显示优化结果。值为:
关
默认没有显示。
iter
显示每个循环迭代的中间结果。
最终的
显示最终循环迭代的结果。
通知
如果函数未能收敛,则显示最终循环迭代的结果。
启用后,如果目标函数返回无效值(复数、NaN或Inf),则显示错误。必须设置为on
或关
默认注:函数一元函数零点
和fminband
正确处理Inf值,在这种情况下只有复杂值或NaN会导致错误。
设置为时on
,要最小化的函数必须返回第二个参数,该参数是函数在该点的梯度或一阶导数x。如果设置为关
[默认值],通过有限差分计算基数。
设置为时on
,要最小化的函数必须返回第二个参数,该参数是函数在该点的雅可比阶或一阶导数x。如果设置为关
[默认值],Jacobian是通过有限差分计算的。
优化停止前的最大函数求值次数。必须是正整数。
优化停止前的最大算法迭代次数。必须是正整数。
每个算法迭代执行一次的用户定义函数。
函数输出的终止标准。如果一次算法迭代和下一次迭代之间计算的目标函数的差小于TolFun
优化停止。必须是正数。
函数输入的终止标准。如果中的差异x,当前搜索点,在一个算法迭代和下一个迭代之间小于TolX
优化停止。必须是正标量。
此列表可以从用户或其他加载的Octave包扩展。可以使用的无参数形式查询更新的有效参数列表最优集
.
注1:在匹配短参数名称时,仅考虑标准列表中的参数名称,以及标准杆数将始终扩展为匹配标准参数,即使存在完全的非标准匹配。与一个或多个标准参数不明确的非标准参数的值不能从设置最优集
并且只能使用设置setfield
或结构体的点表示法。
注2:优化参数结构体主要用于通过最优集
和最优
。将来调用时出现不可预测的行为最优集
或最优
可能是从于创建非标准或不明确的参数,或者在创建优化参数结构体后加载/卸载更改已知参数列表的包。
详见: 最优.
val =
optimget (options, par)
¶val =
optimget (options, par, default)
¶返回特定参数的值标准杆数从优化参数结构体param创建者最优集
.
如果标准杆数未定义,则返回默认值,否则返回一个空矩阵。
如果标准杆数与标准参数的名称不完全匹配,最优
将尝试匹配标准杆数到标准参数,如果找到匹配项,将返回该参数的值。匹配不区分大小写,基于参数名称开头的字符匹配。最优
如果查找多个不明确的匹配,则会返回错误。如果没有找到匹配的标准参数,则会报警告。详见最优集
有关标准参数列表的信息。
注意:在匹配短参数名称时,仅考虑标准列表中的参数名称,以及标准杆数将始终展开以匹配标准参数,即使存在完全的非标准匹配。与一个或多个标准参数不明确的非标准参数的值不能从返回最优
并且只能使用访问getfield
或结构体的点表示法。
详见: optimset.
版权所有 © 2024-2025 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-1