太陽黒点数の周期性を確認します。
黒点数のデータ出所は WDC-SILSO, Royal Observatory of Belgium, Brussels です。
確認対象データは太陽の北半球と南半球の合計の黒点数として、対象期間は毎日途切れることなく黒点数が記録されている1848年12月23日から2024年04月30日までとします。
黒点数のデータは df_total_sunspot に格納しています。
library(dplyr)
library(ggplot2)
library(tidyr)
library(forecast)
glimpse(df_total_sunspot)Rows: 64,047
Columns: 2
$ Date <date> 1848-12-23, 1848-12-24, 1848-12-25, 1848…
$ `Daily total sunspot number` <int> 353, 240, 275, 352, 268, 285, 343, 340, 2…年月日の範囲を確認します。
df_total_sunspot$Date %>% range()[1] "1848-12-23" "2024-04-30"上記期間において毎日データが記録されているか確認します。
df_total_sunspot$Date %>%
diff() %>%
unique()[1] 1df_total_sunspot$`Daily total sunspot number` %>%
is.na() %>%
sum()[1] 0続いて時系列推移を確認します。
df_total_sunspot %>%
gather(key = "key", value = "value", colnames(.)[-1]) %>%
ggplot(mapping = aes(x = Date, y = value)) +
geom_line() +
facet_wrap(. ~ key, ncol = 1) +
theme_minimal() +
theme(legend.position = "none") +
theme(axis.title = element_blank())明らかに周期性が見られます。
対象期間における最大黒点数を確認します。
{
df_total_sunspot$`Daily total sunspot number` == max(df_total_sunspot$`Daily total sunspot number`)
} %>% df_total_sunspot[., ] Date Daily total sunspot number
7917 1870-08-26 528最大黒点数は1870年8月26日の528個です。
自己相関関数により太陽黒点数の周期を確認します。
Lag が 4000 の当たりにある1つ目の山のピークを確認します。
acfresult$data[, c("lag", "Freq")] %>%
tail(-4000) %>%
{
.[order(.$Freq, decreasing = T), ]
} %>%
head() lag Freq
4175 4174 0.2784435
4176 4175 0.2783667
4174 4173 0.2783592
4173 4172 0.2782450
4177 4176 0.2780459
4172 4171 0.27746804174 / ((365 * 3 + 366) / 4)[1] 11.42779およそ11年目に1つ目のピークがあります。
Lag が 8000 の当たりにある2つ目の山のピークを確認します。
acfresult$data[, c("lag", "Freq")] %>%
tail(-8000) %>%
{
.[order(.$Freq, decreasing = T), ]
} %>%
head() lag Freq
8216 8215 0.1611322
8217 8216 0.1609871
8218 8217 0.1605978
8215 8214 0.1603171
8353 8352 0.1601527
8219 8218 0.15983288215 / ((365 * 3 + 366) / 4)[1] 22.49144およそ22年目に2つ目のピークがあります。
太陽黒点数はおよそ11年周期で増減を繰り返しているようです。
以上です。



