トレンド抽出 ロジスティック曲線によるトレンド

Equation y=\frac{A}{1+e^{\phi(t)}}\phi(t)=a-kt,\;k>0の場合,e^{a}\equiv\alphaと置くと、y=\frac{A}{1+\alpha e^{-ky}}\rightarrow \frac{A-y}{y}=\alpha e^{-ky} \rightarrow \ln{\frac{A-y}{y}}=\ln{\alpha}-ktR サンプルデータ:1987年から2013年までの日本におけるパソコン普及率 pcpredictionpc
> library(tseries)

> pc <- ts(dataset$pc,start=c(1987),frequency=1)

> pc
Time Series:
Start = 1987 
End = 2013 
Frequency = 1 
 [1] 11.7  9.7 11.6 10.6 11.5 12.2 11.9 13.9 15.6 17.3 22.1 25.2 29.5 38.6
[15] 50.1 57.2 63.3 65.7 64.6 68.3 71.0 73.1 73.2 74.6 76.0 77.3 78.0

> ttl <- "Prediction of Penetration for PC in Japan"

> plot(pc,main=ttl,ylab="%")

> A <- 100

> time <- seq(1,length(pc))

> z <- log((A-pc)/pc)

> kaiki1 <- lm(z~time)

> kaiki1

Call:
lm(formula = z ~ time)

Coefficients:
(Intercept)         time  
     2.7588      -0.1634  

> k1 <- -1*kaiki1$coef[2]

> alpha1 <- exp(kaiki1$coef[1])

> time1 <- seq(0,length(pc)+10)

> pchat1 <- A/(1+alpha1*exp(-1*k1*time1))

> xl <- c(0,length(time1))

> yl <- c(0,100)

> plot(time,pc,xlim=xl,ylim=yl,type="p",xlab="",ylab="%",main=ttl)

> lines(time1,pchat1,type="l",lty=2,col=2)

参考文献 田中孝文(2008).『Rによる時系列分析入門』.シーエーピー出版.393pp.アプリケーション R Core Team (2013). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. URL http://www.R-project.org/.