diff options
| author | leshe4ka46 <alex9102naid1@ya.ru> | 2025-12-25 21:28:30 +0300 |
|---|---|---|
| committer | leshe4ka46 <alex9102naid1@ya.ru> | 2025-12-25 21:28:30 +0300 |
| commit | 53f20d58628171934c097dff5602fe17765eae99 (patch) | |
| tree | 83f7344f76924ffd0aa81c2fdc4ee09fa3de9459 /R_ARIMA | |
| parent | 175ac10904d0f31c3ffeeeed507c8914f13d0b15 (diff) | |
Diffstat (limited to 'R_ARIMA')
| -rw-r--r-- | R_ARIMA/.md | 6 | ||||
| -rw-r--r-- | R_ARIMA/Rplots.pdf | bin | 0 -> 30547 bytes | |||
| -rw-r--r-- | R_ARIMA/jj.dat | 84 | ||||
| -rwxr-xr-x | R_ARIMA/main.r | 79 |
4 files changed, 169 insertions, 0 deletions
diff --git a/R_ARIMA/.md b/R_ARIMA/.md new file mode 100644 index 0000000..d400345 --- /dev/null +++ b/R_ARIMA/.md @@ -0,0 +1,6 @@ +AutoRegressive Integrated Moving Average + +https://en.wikipedia.org/wiki/Partial_autocorrelation_function + + +AIC (Akaike Information Criterion)
\ No newline at end of file diff --git a/R_ARIMA/Rplots.pdf b/R_ARIMA/Rplots.pdf Binary files differnew file mode 100644 index 0000000..a878ac4 --- /dev/null +++ b/R_ARIMA/Rplots.pdf diff --git a/R_ARIMA/jj.dat b/R_ARIMA/jj.dat new file mode 100644 index 0000000..bcb2847 --- /dev/null +++ b/R_ARIMA/jj.dat @@ -0,0 +1,84 @@ + .71
+ .63
+ .85
+ .44
+ .61
+ .69
+ .92
+ .55
+ .72
+ .77
+ .92
+ .6
+ .83
+ .8
+ 1
+ .77
+ .92
+ 1
+ 1.24
+ 1
+ 1.16
+ 1.3
+ 1.45
+ 1.25
+ 1.26
+ 1.38
+ 1.86
+ 1.56
+ 1.53
+ 1.59
+ 1.83
+ 1.86
+ 1.53
+ 2.07
+ 2.34
+ 2.25
+ 2.16
+ 2.43
+ 2.7
+ 2.25
+ 2.79
+ 3.42
+ 3.69
+ 3.6
+ 3.6
+ 4.32
+ 4.32
+ 4.05
+ 4.86
+ 5.04
+ 5.04
+ 4.41
+ 5.58
+ 5.85
+ 6.57
+ 5.31
+ 6.03
+ 6.39
+ 6.93
+ 5.85
+ 6.93
+ 7.74
+ 7.83
+ 6.12
+ 7.74
+ 8.91
+ 8.28
+ 6.84
+ 9.54
+ 10.26
+ 9.54
+ 8.729999
+ 11.88
+ 12.06
+ 12.15
+ 8.91
+ 14.04
+ 12.96
+ 14.85
+ 9.99
+ 16.2
+ 14.67
+ 16.02
+ 11.61
diff --git a/R_ARIMA/main.r b/R_ARIMA/main.r new file mode 100755 index 0000000..3466ae9 --- /dev/null +++ b/R_ARIMA/main.r @@ -0,0 +1,79 @@ +#!/usr/bin/env Rscript + +df <- read.table("jj.dat", sep = "\n") + + +df_ts <- ts(df, start = 1960, frequency = 4) +plot(df_ts, main = "df_ts", ylab = "value") + +ts_diff <- diff(df_ts) +plot(ts_diff) + +decomp_add <- decompose(df_ts, type="additive") +plot(decomp_add) + +df_ts_log <- log10(df_ts) +plot(df_ts_log) + +ts_diff_log10 <- diff(df_ts_log) +plot(ts_diff_log10) + +acf(ts_diff_log10) +pacf(ts_diff_log10) + + +model1 <- arima(ts_diff_log10, order = c(1, 1, 0)) +model2 <- arima(ts_diff_log10, order = c(0, 1, 1)) +model3 <- arima(ts_diff_log10, order = c(1, 1, 1)) + +# 2k - 2 ln(lambda) +AIC(model1, model2, model3) + + +sim_ar4 <- arima.sim(n = 10000, list(ar = c(0.9, -0.5, 0.2, -0.3))) +acf(sim_ar4, main = "ACF AR(4)") +pacf(sim_ar4, main = "PACF AR(4)") +ar4 <- arima(sim_ar4, order = c(4, 0, 0)) +AIC(ar4) + +sim_ar3 <- arima.sim(n = 10000, list(ar = c(0.9, -0.5, 0.2))) +acf(sim_ar3, main = "ACF AR(3)") +pacf(sim_ar3, main = "PACF AR(3)") +ar3 <- arima(sim_ar3, order = c(3, 0, 0)) +AIC(ar3) + +sim_ar2 <- arima.sim(n = 10000, list(ar = c(0.9, -0.5))) +acf(sim_ar2, main = "ACF AR(2)") +pacf(sim_ar2, main = "PACF AR(2)") +ar2 <- arima(sim_ar2, order = c(2, 0, 0)) +AIC(ar2) + +sim_ar1 <- arima.sim(n = 10000, list(ar = c(0.9))) +acf(sim_ar1, main = "ACF AR(1)") +pacf(sim_ar1, main = "PACF AR(1)") +ar1 <- arima(sim_ar1, order = c(1, 0, 0)) +AIC(ar1) + +sim_ma4 <- arima.sim(n = 10000, list(ma = c(-1.9, 1.7, -1.5, 1.5))) +acf(sim_ma4, main = "ACF MA(4)") +pacf(sim_ma4, main = "PACF MA(4)") +ma4 <- arima(sim_ma4, order = c(4, 0, 0)) +AIC(ma4) + +sim_ma3 <- arima.sim(n = 10000, list(ma = c(-1.9, 1.7, -1.5))) +acf(sim_ma3, main = "ACF MA(3)") +pacf(sim_ma3, main = "PACF MA(3)") +ma3 <- arima(sim_ma3, order = c(3, 0, 0)) +AIC(ma3) + +sim_ma2 <- arima.sim(n = 10000, list(ma = c(-1.9, 1.7))) +acf(sim_ma2, main = "ACF MA(2)") +pacf(sim_ma2, main = "PACF MA(2)") +ma2 <- arima(sim_ma2, order = c(2, 0, 0)) +AIC(ma2) + +sim_ma1 <- arima.sim(n = 10000, list(ma = c(-1.9))) +acf(sim_ma1, main = "ACF MA(1)") +pacf(sim_ma1, main = "PACF MA(1)") +ma1 <- arima(sim_ma1, order = c(1, 0, 0)) +AIC(ma1) |
