0.1 Least Squares Method in Multivariance 多变量最小二乘法

n=100;k=2;Y=3+2*(1:n)+10*rnorm(n) 
X=rep(1,n);
for (j in 1:k)
  {X=cbind(X,(1:n)^(j))}#这里怎么老是出错……
Trend.coef=solve(t(X)%*%X,t(X)%*%Y)
Trend=X%*%Trend.coef;
ts.plot(Y);points(1:n,Trend,col=2,type='l')

\[y=3+2x+10\epsilon\]

n=100;k=2;Y=3+2*(1:n)+10*rnorm(n)
X=rep(1,n);for (j in 1:k){ X=cbind(X,(1:n)^(j))}
Trend.coef=solve(t(X)%*%X,t(X)%*%Y)
Trend=X%*%Trend.coef;
ts.plot(Y);points(1:n,Trend,col=2,type='l')

\[x=5-2t+3t^2-4t^3+10\epsilon\]

n=100; t=1:n; x=5-2*t+3*t^2-4*t^3+10*rnorm(n)
d1=diff(x);d2=diff(d1);d3=diff(d2);d4=diff(d3);d5=diff(d4)
par(mfrow=c(2,3))
ts.plot(x);ts.plot(d1);ts.plot(d2);ts.plot(d3);ts.plot(d4);ts.plot(d5)

s1=rep(c(1,0,0),33);s2=rep(c(0,1,0),33);s3=rep(c(0,0,1),33)
n=99;k=2;d=3; Y=3+2*(1:n)+9*s1-9*s3+10*rnorm(n)
X=cbind(s1,s2,s3);for (j in 1:k){ X=cbind(X,(1:n)^(j))}
Reg.coef=solve(t(X)%*%X,t(X)%*%Y); a0=mean(Reg.coef[1:3])
Trend=a0+X[,4:5]%*%Reg.coef[4:5]
Season=X[,1:3]%*%Reg.coef[1:3]-a0
ts.plot(cbind(Y,Trend,Season,Trend+Season),col=1:4)