Octave支持以下用于计算预测指标的函数。
E = mape (F, A) ¶E = mape (F, A, dim) ¶E = mape (F, A, vecdim) ¶E = mape (F, A, "all") ¶E = mape (…, nanflag) ¶E = mape (…, zeroflag) ¶E = mape (…, 'Weights', W) ¶计算两个数组之间的平均绝对百分比误差。
平均绝对百分比误差定义为
mape (F, A) = SUM_i (abs ((A(i) - F(i)) / A(i))) * 100 / N
其中N是F和A中的元素经过广播后进行减法运算后的数量。
加权平均绝对百分比误差定义为
weighted_mape (F, A) = SUM_i (W(i) * (abs ((A(i) - F(i)) / A(i)))) * 100 / SUM_i (W(i)
其中N是F和A中的元素经过广播后进行减法运算后的数量。
F和A必须要么尺寸相同,要么尺寸兼容。
如果F和A是相同尺寸的向量,那么
mape (F, A)返回一个标量,表示F和A的元素之间的MAPE。
如果A - F是一个矩阵,那么mape (F, A)
返回一个行向量,其中每个元素包含A - F的相应列之间的MAPE。
如果A - F是一个数组,那么
mape (F, A)
沿着输入数组F和A的差的第一个非奇异维度计算MAPE。
E的尺寸沿着操作维度为1,而其他所有维度的尺寸与A - F相同。
可选输入参数dim指定要操作的维度,并且必须是正整数。
指定任何奇异维度,包括任何超过ndims (A - F)的维度,将返回
abs ((A - F) ./ A)。
用vecdim指定维度(一个不重复维度的向量),将返回由
vecdim定义的数组切片上的MAPE。
如果vecdim索引了A - F的所有维度,则它等效于"all"选项。
任何在vecdim中大于ndims (A - F)的维度将被忽略。
指定维度为"all"将导致mape操作A - F的所有元素,
并且等效于
mape ((A - F)(:))。
可选变量nanflag指定在使用任何先前指定的输入参数组合时,是否包含或排除NaN值。
nanflag的默认值是
"includenan",在计算中保留NaN值。要排除NaN值,请将nanflag的值设置为
"omitnan"。
如果A - F在操作维度中的值均为NaN,则输出将仍然包含NaN值。
可选变量zeroflag指定在使用任何先前指定的输入参数组合时,是否包含或排除零值。
zeroflag的默认值是
"includezero",
此时如果A包含一个或多个零,则计算的MAPE为Inf。
要忽略任何A中的零值,请将zeroflag的值设置为"omitzero"。
如果A在操作维度中的值均为零,则MAPE为NaN。
可选的键值对参数…, "Weights", W指定了一个权重方案W,它应用于输入数组
F和A的差,使得mape计算加权MAPE。
当沿着一个维度操作时,W必须与操作维度的长度相同或与x的尺寸相同。
当沿着一个由vecdim定义的数组切片操作时,W必须与操作的数组切片的大小相同,即
size (A - F)(vecdim),
或者与
A - F的大小相同。
E = rmse (F, A) ¶E = rmse (F, A, dim) ¶E = rmse (F, A, vecdim) ¶E = rmse (F, A, "all") ¶E = rmse (…, nanflag) ¶E = rmse (…, 'Weights', W) ¶计算两个数组之间的均方根误差。
均方根误差定义为
rmse (F, A) = sqrt (SUM_i ((A(i) - F(i)) ^ 2) / N)
其中N是F和A中的元素经过广播后进行减法运算后的数量。
加权均方根误差定义为
weighted_rmse (F, A) = sqrt (SUM_i (W(i) * ((A(i) - F(i)) ^ 2)) / SUM_i (W(i)))
其中N是F和A中的元素经过广播后进行减法运算后的数量。
F和A必须要么尺寸相同,要么尺寸兼容。
如果F和A是相同尺寸的向量,则
rmse (F, A)返回一个标量,表示F和A的元素之间的RMSE。
如果A - F是一个矩阵,则
rmse (F, A)
返回一个行向量,其中每个元素包含A - F的相应列之间的RMSE。
如果A - F是一个数组,则
rmse (F, A)
沿着输入数组F和A的差的第一个非奇异维度计算RMSE。
E沿着操作维度的大小为1,而其他所有维度的尺寸与
A - F相同。
可选输入参数dim指定要操作的维度,并且必须是正整数。
指定任何奇异维度,包括超过ndims (A - F)的维度,将返回
abs ((A - F) ./ A)。
用vecdim指定维度(一个不重复维度的向量),将返回由
vecdim定义的数组切片上的RMSE。
如果vecdim索引了A - F的所有维度,
则它等效于"all"选项。
任何在vecdim中大于ndims (A - F)的维度将被忽略。
指定维度为"all"将导致rmse操作A - F的所有元素,
并且等效于
rmse ((A - F)(:))。
可选变量nanflag指定在使用任何先前指定的输入参数组合时,是否包含或排除NaN值。
nanflag的默认值是
"includenan",在计算中保留NaN值。
要排除NaN值,请将nanflag的值设置为"omitnan"。
如果A - F在操作维度中的值均为NaN,则输出将仍然包含NaN值。
可选的键值对参数…, "Weights", W指定了一个权重方案W,它应用于输入数组
F和A的差,使得rmse计算加权RMSE。
当沿着一个维度操作时,W必须与操作维度的长度相同或与x的尺寸相同。
当沿着一个由vecdim定义的数组切片操作时,W必须与操作的数组切片的大小相同,即
size (A - F)(vecdim),
或者与
A - F的大小相同。
版权所有 © 2024-2026 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-4