R 언어와 시간 시퀀스 학습 노트(1)

오늘 공유한 것은 R 언어의 시간 서열에 관한 내용입니다.주로 시간 서열의 생성, ARMA 모델의 구축과 자체 관련 함수, 편자 관련 함수가 있다.
1. 시간 순서의 생성
시간 시퀀스 생성 함수는 ts()입니다.함수의 매개변수 목록은 다음과 같습니다.
ts(data = NA, start = 1, end = numeric(),frequency = 1,
  deltat = 1, ts.eps = getOption("ts.eps"), class = , names = )
매개 변수 설명: 데이터: 이것은 매트릭스나 벡터, 그리고 데이터 상자 프레임이어야 합니다
Frequency: 이것은 시간 관측 주파수, 즉 시간 단위당 데이터 수입니다.
Start: 첫 번째 시간 단위의 데이터 부족을 허용하는 시간 시퀀스 시작 값
예를 들면ts(matrix(c, NA, NA, 1:31, NA),byrow=T, 5,7),frequency=7,names=c('Sun','Mon','Tue','Wen','Thu','Fri','Sat'))
위의 코드를 실행하면 달력을 얻을 수 있습니다.
Sun  Mon Tue Wen Thu  Fri  Sat
  NA   NA  NA   1  2    3    4
   5    6   7   8  9   10   11
  12   13  14  15 16   17   18
  19   20  21  22 23   24   25
  26    27 28  29  30   31   NA
R 언어에도 통계 패키지의sunspots와 같은 많은 데이터 집합이 있는데, 함수 데이터 (sunspots) 를 통해 그것들을 호출할 수 있다.
2. 일부 시간 시퀀스 모델
AR, MA, 랜덤 워킹, 여현 곡선 트렌드, 계절 트렌드 등을 소개한다.
먼저 AR 모델을 소개합니다. AR 모델, 즉 자귀환(AutoRegressive, AR) 모델입니다. 수학 표현식은 AR: y (t) = a1y (t-1) +...any(t-n)+e(t)
그 중에서 e(t)는 평균치가 0이고 방차는 특정한 값의 백소음 신호이다.
그러면 AR모델의 데이터를 생성하면 우리는 두 가지 방법이 있다. 첫째, R의 함수 Filter(선형 필터)를 호출하여 AR모델을 생성한다.2. AR 모델의 정의에 따라 자체 함수 작성
첫 번째 방법: R의 함수 Filter(선형 필터)를 호출하여 AR 모형을 생성합니다
함수 필터의 용도는 다음과 같습니다.
filter(x, filter, method = c("convolution", "recursive"),
       sides = 2, circular = FALSE, init)

AR(2)모델 x(t)=x(t-1)--0.9x(t-2)+e(t)
w
x
# 메서드: [볼륨] 또는 [반복](약어 가능).이동을 사용하여 평균 '볼륨' 을 선택하면 '귀속' 은 회귀를 선택합니다.
그리고 두 번째 방법은 자신의 프로그래밍을 정의하여 AR모델을 생성하는 것이냐, 아니면 AR(2)모델 x(t)=x(t-1)--0.9x(t-2)+e(t)를 예로 들면 다음과 같은 함수를 작성할 수 있다.
w
AR
x
x[2]=x[1]+w[1]
for(i in 3:550)
x[i]=x[i-1]-0.9*x[i-2]+w[i]
x
}
AR (W) 을 호출하면 얻을 수 있습니다.만약 같은 랜덤수에 대해 우리는 두 개의 발생하는 시간 서열이 일치하는 것을 발견할 수 있다.물론 두 번째 방법으로 생성된 서열은 시간 서열 형식으로 변환해야 하며 as로 변환해야 한다.ts() 처리.
이와 유사하게 우리는 MA, 무작위 유주 시뮬레이션을 제공한다.
MA 모델:
w
v
무작위 이동:
w
x
wd
xd
적절한 그래프를 만들 수 있습니다.
 
계절 모델을 다시 한 번 말씀드리겠습니다.
가장 간단한 계절 모델은 바로 한 단락의 주기 함수다.예를 들어 어떤 지역의 1년 기온은 하나의 계절 모델이다.TSA 패키지에서 제시된 데이터tempdub를 이용하여 우리는 그가 바로 이런 모델이라는 것을 발견할 수 있다
유효성 검사를 수행하려면 다음과 같이 하십시오.
library(TSA)
data(tempdub)
month
model1
summary(model1)
R 출력 결과:
Call:
lm(formula = tempdub ~month)
 
Residuals:
    Min     1Q  Median      3Q    Max
-8.2750 -2.2479  0.1125 1.8896  9.8250
 
Coefficients:
               Estimate Std. Error t valuePr(>|t|)   
(Intercept)      16.608      0.987 16.828  < 2e-16 ***
monthFebruary     4.042     1.396   2.896  0.00443 **
monthMarch       15.867     1.396  11.368  < 2e-16 ***
monthApril       29.917      1.396 21.434  < 2e-16 ***
monthMay         41.483      1.396 29.721  < 2e-16 ***
monthJune        50.892      1.396 36.461  < 2e-16 ***
monthJuly        55.108      1.396 39.482  < 2e-16 ***
monthAugust      52.725      1.396 37.775  < 2e-16 ***
monthSeptember   44.417     1.396  31.822  < 2e-16 ***
monthOctober     34.367     1.396  24.622  < 2e-16 ***
monthNovember    20.042     1.396  14.359  < 2e-16 ***
monthDecember     7.033     1.396   5.039 1.51e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’1
 
Residual standarderror: 3.419 on 132 degrees of freedom
Multiple R-squared:0.9712,     Adjusted R-squared: 0.9688
F-statistic: 405.1 on11 and 132 DF,  p-value: < 2.2e-16
 
여기에 2월 계수는 1월 평균 기온과 2월 평균 기온의 차이를 나타낸다.
계절 모델: 여현 트렌드 소개μ1=βcos(2pi*f*t+φ)
아니면 위의 기온을 고려한 예:
유효성 검사:
har
model2
summary(model2)
결과 보기:
Call:
lm(formula = tempdub ~har)
 
Residuals:
     Min      1Q   Median       3Q     Max
-11.1580  -2.2756 -0.1457   2.3754  11.2671
 
Coefficients:
               Estimate Std. Error t valuePr(>|t|)   
(Intercept)     46.2660    0.3088 149.816  < 2e-16 ***
harcos(2*pi*t)-26.7079     0.4367 -61.154  < 2e-16 ***
harsin(2*pi*t)  -2.1697    0.4367  -4.968 1.93e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’1
 
Residual standarderror: 3.706 on 141 degrees of freedom
Multiple R-squared:0.9639,     Adjusted R-squared: 0.9634
F-statistic:  1882 on 2 and 141 DF,  p-value: < 2.2e-16
우리는 그림을 만들어서 의합 효과를 볼 수 있다.
 
 
계절 모형도 시뮬레이션할 수 있다. 예를 들어μ1=βcos(2pi*f*t+φ)모델은 다음과 같이 시뮬레이션할 수 있습니다.
t
w
c
 
3. 자기관계와 자기관계
관련 정의를 제시한다. 정보 분석에서 보통 관련 함수를 자협방차 방정식이라고 부른다.정보의 시간에 따라 정보 함수 값의 상관성을 설명하는 데 쓰인다.자세한 내용은 wiki를 참조하십시오.http://zh.wikipedia.org/wiki/%E8%87%AA%E7%9B%B8%E5%85%B3
관계식(ACF)에 정의된 알고리즘에 따라 다음을 수행할 수 있습니다.
예를 들어 데이터:
> x
>u
>v
>sum((x[1:9]-u)*(x[2:10]-u))/(9*v)#지연1
[1] 0.7
>sum((x[1:8]-u)*(x[3:10]-u))/(9*v)#지연2
[1]0.4121212
>sum((x[1:7]-u)*(x[4:10]-u)))/(9*v)#지연 3
[1]0.1484848
R에서도 acf를 직접 계산하는 함수 acf()를 제공하고, 이 함수를 이용해 1~3단계의 acf를 계산한 결과는 다음과 같다.
>a
> a
 
Autocorrelationsof series ‘x’, by lag
 
    0    1     2     3
1.0000.700 0.412 0.148
똑같다는 것을 알 수 있다.
acf()를 이용하여 여러 단계의 acf를 처리할 수 있으며 태양 흑자수의 데이터 집합을 예로 들 수 있다.
>data(sunspots)
>acf(sunspots)# 해당 그래픽 제공
>a
> a
 
Autocorrelationsof series ‘sunspots’, by lag
 
0.00000.0833 0.1667 0.2500 0.3333 0.4167 0.5000
 1.000 0.922  0.890  0.875 0.864  0.850  0.836
종속 관계:
평온한 AR(p)모델에 대해 정지 k의 상관계수 p(k)를 구할 때 실제적으로 x(t)와 x(t-k) 간의 단순한 관련 관계가 아니라는 것을 알 수 있다.x(t)는 중간 k-1개의 무작위 변수 x(t-1), x(t-2),..., x(t-k+1)의 영향을 받을 수 있기 때문에 이 k-1개의 무작위 변수는 모두 x(t-k)와 관련 관계가 있기 때문에 상관계수 p(k)에 실제적으로 다른 변수가 x(t)와 x(t-k)에 대한 영향을 섞었다. 
x(t-k)가 x(t)에 미치는 영향을 단순히 측정하기 위해 상관계수에 치우친 개념을 도입한다. 
평온 시간 시퀀스 {x(t)}에 대해 수학 언어로 설명하자면 다음과 같다.
  p[(x(t),x(t-k)]|(x(t-1),……,x(t-k+1)={E[(x(t)-Ex(t)][x(t-k)-Ex(t-k)]}/E{[x(t-k)-Ex(t-k)]^2} 
이것이 바로 정체 k편자 상관계수의 정의다.
한 마디로 하면 편자 관련은 중간 k-1개의 무작위 변수 x(t-1), x(t-2),..., x(t-k+1)의 간섭을 제거한 후 x(t-k)가 x(t)에 미치는 영향의 상관 정도를 설명하고자 하는 것이다.
R 언어에서 함수 PACF()를 사용하여 해결 가능
또는 태양의 흑점 수를 사용하는 예:
> b
> b
 
Partial autocorrelations of series ‘sunspots’, bylag
 
0.0833 0.1667 0.2500 0.3333 0.4167 0.5000
 0.922  0.272 0.189  0.135  0.064 0.044
마지막으로 우리는 이 두 함수를 이용하여 AR(p), MA(q)의 자체 관련 함수와 편자 관련 함수의 절미성과 끌림성을 살펴본다.
2에서 설명한 방법을 이용하여 AR(2), MA(2)의 데이터를 생성한다.
AR (2) 모델:
w
x
MA(3) 모델:
w
v
> qq
> qq
 
Partial autocorrelations of series ‘x’, by lag
1   2    3   4    5    
 0.532-0.861 -0.082  0.000
AR(2)모델의 편향된 관련 함수가 절미된 것을 알 수 있다(그러나 이것은 데이터이기 때문에 pacf가 나타나면 2보 후에 바로 0으로 변하는 것이 아니라 추세만 볼 수 있다)
MA(3)모델의 자체 관련 함수에 대해 v의 첫 번째 항목과 마지막 항목이 부족하기 때문에 v의 일부 데이터를 캡처해도 무방하다. 이름은 a이고 다음과 같다.
> y
> y
 
Autocorrelations of series ‘a’, by lag
 
    0     1    2     3       4     5
1.000   0.652   0.397   0.059  0.067  0.035
트렌드도 엿볼 수 있다.
모델을 제시한 후의 매개 변수에 대한 평가에 관해서 우리는 다음 블로그에서 토론할 것이다.

좋은 웹페이지 즐겨찾기