# polyconf


多项式的置信区间

函数库: TyMachineLearning

# 语法

y_pre, ci = polyconf(X_train, X_test, y, degree, alpha)

# 说明

y_pre, ci = polyconf(X_train, X_test, y, degree, alpha)返回线性回归的预测值y_pre和指定显著性水平alpha下的置信区间ci。其中X_train是划分数据的训练集,X_train是测试集,y为对应的响应变量,degree是拟合多项式回归的最高项次数,alpha为显著性水平。

# 示例

多项式回归拟合预测和置信区间
加载数据集,get_datapoly()获取到X_train, X_test, y的数据,样本输入变量X_train,X_test为区间[0,4pi]之间的随机点,对应的响应变量y为加入噪声干扰的正弦函数。读取数据集并可视化。
using TyMachineLearning
using TyPlot 
X_train, X_test, y = get_datapoly()
figure()
scatter(X_train, y)
legend("data")

指定多项式的最高次项为7,显著性水平为0.95,进行多项式回归预测以及得到置信区间。

y_pre, ci = polyconf(X_train, X_test, y, 7, 0.95)
([-0.2744172213589682, -0.18400960555445856, -0.09228081551599726, -0.00017630436133736493, 0.09144036593266003, 0.1817838989169554, 0.2701437257018523, 0.3558805537009717, 0.43842300115553834, 0.5172643165068426  …  -0.43910286870065285, -0.38345211093034415, -0.32894359326534506, -0.2764779392074761, -0.22703791346672553, -0.18169213168008902, -0.14159885956557083, -0.10800990247268238, -0.08227458628258866, -0.06584383054465981], (-0.09863655877437083, 0.09427066447769272))

打印置信区间ci。

ci
(-0.09863655877437083, 0.09427066447769272)

输出结果会有细微波动。 可视化多项式拟合效果。

figure()
hold("on")
scatter(X_train, y)
plot(X_test, y_pre; linewidth=2)
legend(["data", "yhat"])
hold("off")

绘制多项式拟合曲线和预测的置信区间。

plot(X_train, y, "b+")
hold("on")
plot(X_test, y_pre, "g-")
plot(X_test, y_pre .+ ci[1], "r--", X_test, y_pre .+ ci[2], "r--")
legend(["Data", "Fit", "95% Prediction Intervals"])
title("polyst")
hold("off")

# 输入参数

X_train - 数据的训练集
数值矩阵
样本的数据输入,通过X_train进行多项式回归拟合。

数据类型: Matrix

X_test - 数据的测试集
数值矩阵
样本的数据输入,将拟合好的多项式回归模型通过X_test进行预测。

数据类型: Matrix​

y - 响应变量
数值向量
样本的响应变量。

数据类型: Vector

degree - 拟合多项式回归的最高项次数
数值
多项式回归的最高项次数。

数据类型: Int

alpha - 显著性水平
数值
进行参数估计显著性检验所指定的显著性水平。

数据类型: Float

# 输出参数

y_pre - 拟合多项式回归的预测值
数值向量
拟合多项式回归的预测值,为X_test通过模型拟合得到的响应变量的预测值,行数与X_test行数相一致。

数据类型: Vector

ci - 拟合多项式回归的置信区间
数值向量
拟合多项式回归的预测值,为X_test通过模型拟合得到的响应变量的预测值,行数与X_test行数相一致。

数据类型: Tuple{Float, Float}

# 另请参阅

coefCI | coeftest | mnrfit