R 언어와 시간 시퀀스 학습 노트(1)
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
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
트렌드도 엿볼 수 있다.
모델을 제시한 후의 매개 변수에 대한 평가에 관해서 우리는 다음 블로그에서 토론할 것이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
R 언어와 시간 시퀀스 학습 노트(1)R 언어에도 통계 패키지의sunspots와 같은 많은 데이터 집합이 있는데, 함수 데이터 (sunspots) 를 통해 그것들을 호출할 수 있다. AR(2)모델 x(t)=x(t-1)--0.9x(t-2)+e(t) 그리고...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.