aboutsummaryrefslogtreecommitdiff
path: root/R_ARIMA
diff options
context:
space:
mode:
authorleshe4ka46 <alex9102naid1@ya.ru>2025-12-25 21:28:30 +0300
committerleshe4ka46 <alex9102naid1@ya.ru>2025-12-25 21:28:30 +0300
commit53f20d58628171934c097dff5602fe17765eae99 (patch)
tree83f7344f76924ffd0aa81c2fdc4ee09fa3de9459 /R_ARIMA
parent175ac10904d0f31c3ffeeeed507c8914f13d0b15 (diff)
finishHEADmain
Diffstat (limited to 'R_ARIMA')
-rw-r--r--R_ARIMA/.md6
-rw-r--r--R_ARIMA/Rplots.pdfbin0 -> 30547 bytes
-rw-r--r--R_ARIMA/jj.dat84
-rwxr-xr-xR_ARIMA/main.r79
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
new file mode 100644
index 0000000..a878ac4
--- /dev/null
+++ b/R_ARIMA/Rplots.pdf
Binary files differ
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)