假设我们有玩具每日温带数据,我们想要拟合一个模型。
一个合理的做法是用傅里叶基拟合周期性模型
所以数据矩阵的傅里叶基展开是
另一方面,假设我不知道傅里叶展开,只知道多项式拟合。所以我用三阶多项式拟合数据,其中
数据矩阵的多项式基展开是(出于演示目的,我没有使用正交多项式,这在现实世界的问题中是病态的。)
这两种拟合如下所示,它们是“相似的”。我的问题是,多项式拟合周期性数据有什么问题?在这种情况下,我们没有外推,时间应始终为
d = data.frame(t=c(0,3,6,9,12,15,18,21),
temp=c(-2.2,-2.8,-6.1,-3.9,0,1.1,-0.6,-1.1))
X=cbind(1,cos(2*pi*d$t/24),sin(2*pi*d$t/24))
coeff = solve(t(X) %*% X, t(X) %*% d$temp)
X2=cbind(1,d$t, d$t^2, d$t^3)
coeff_2 = solve(t(X2) %*% X2, t(X2) %*% d$temp)
plot(d$t,d$temp,type='b')
d_new = seq(0,24,0.1)
X=cbind(1,cos(2*pi*d_new/24),sin(2*pi*d_new/24))
X2=cbind(1,d_new, d_new^2, d_new^3)
lines(d_new,X %*% coeff, type='l',col='red')
lines(d_new,X2 %*% coeff_2, type='l', col='blue')


