1. Einleitung

Der demografische Wandel verändert die Altersstruktur der deutschen Bevölkerung seit mehreren Jahrzehnten. Gleichzeitig gewinnt lebenslanges Lernen zunehmend an Bedeutung, um den Anforderungen eines sich wandelnden Arbeitsmarktes gerecht zu werden. Ziel dieser Analyse ist es zu untersuchen, ob zwischen Veränderungen der Bevölkerungsstruktur und der Weiterbildungsbeteiligung in Deutschland ein statistischer Zusammenhang besteht.

2. Forschungsfrage

In welchem Zusammenhang steht der demografische Wandel mit der Weiterbildungsbeteiligung in Deutschland zwischen 1991 und 2022?

3. Hypothesen

H0: Es besteht kein Zusammenhang zwischen der Weiterbildungsbeteiligung und der demografischen Entwicklung in Deutschland von 1991 bis 2022.

H1: Eine Veränderung der Altersstruktur der Bevölkerung steht in einem signifikanten Zusammenhang mit der Weiterbildungsbeteiligung in Deutschland von 1991 bis 2022.

4. Datengrundlage

Die Analyse basiert auf zwei öffentlich zugänglichen Datensätzen des BMBF-Datenportals:

5. Vorbereitung der Daten

Pakete installieren und laden

library(readxl)
library(readr)
library(dplyr)
library(tidyr)
library(stringr)

Datensatz einlesen

Weiterbildungsbeteiligung <- read_csv2("/Users/keanakastner/Desktop/Tabelle-2.7.24.csv")
Bevölkerung <- read_csv2("/Users/keanakastner/Desktop/Tabelle-0.14.csv")

Erste Ansicht

head(Weiterbildungsbeteiligung)
head(Bevölkerung)

Datenbereinigung

Weiterbildungsdaten bereinigen

  • Leere/Unwichtige Zeilen entfernen
Weiterbildungsbeteiligung_clean <- Weiterbildungsbeteiligung %>%
  slice(5:25)
  • 2007 ist doppelt vorhanden, 2007 wurde ausgeschlossen, weil sich die Gebietsabgrenzung (Berlin-West bzw. ohne Berlin) ändert, dadurch sind die Daten nicht direkt vergleichbar, einen Eintrag entfernen
Weiterbildungsbeteiligung_clean2 <- Weiterbildungsbeteiligung_clean %>%
  slice(-c(12, 13))
  • Header benennen
names(Weiterbildungsbeteiligung_clean2) <-
  c("Jahr", "Westdeutschland", "Ostdeutschland", "Deutschland")

Weiterbildungsbeteiligung_clean2 <- Weiterbildungsbeteiligung_clean2 %>%
  slice(-c(1:6))

Bevölkerungsdaten bereinigen

  • Leere/Unwichtige Zeilen entfernen
Bevölkerung_clean <- Bevölkerung %>%
  slice(5:111)
  • Alter in Header setzen
colnames(Bevölkerung_clean) <- as.character(Bevölkerung_clean[1, ])
Bevölkerung_clean <- Bevölkerung_clean[-c(1,2), ]
  • Weitere Header setzen
colnames(Bevölkerung_clean)[1:2] <- c("Geschlecht", "Jahr")
  • Nur das Alter statt dem Geschlecht
Bevölkerung_clean2 <- Bevölkerung_clean %>%
  filter(grepl("Insgesamt", Bevölkerung_clean[[1]]))

Datentypen angleichen und vereinheitlichen

  • In einem Datensatz über die Variable “Jahr” zusammenführen
daten_final <- Weiterbildungsbeteiligung_clean2 %>%
  inner_join(Bevölkerung_clean2, by = "Jahr")
  • Struktur prüfen (Fehler erkennen)
str(daten_final)
## spc_tbl_ [13 × 38] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ Jahr           : chr [1:13] "1991" "1994" "1997" "2000" ...
##  $ Westdeutschland: chr [1:13] "36" "43" "48" "43" ...
##  $ Ostdeutschland : chr [1:13] "38" "37" "49" "43" ...
##  $ Deutschland    : chr [1:13] "37" "42" "48" "43" ...
##  $ Geschlecht     : chr [1:13] "Insgesamt" "Insgesamt" "Insgesamt" "Insgesamt" ...
##  $ 0 - 1          : chr [1:13] "833" "770" "811" "767" ...
##  $ 1 - 2          : chr [1:13] "917" "803" "798" "773" ...
##  $ 2 - 3          : chr [1:13] "904" "822" "771" "790" ...
##  $ 3 - 4          : chr [1:13] "929" "855" "780" "815" ...
##  $ 4 - 5          : chr [1:13] "905" "941" "813" "800" ...
##  $ 5 - 6          : chr [1:13] "889" "929" "833" "774" ...
##  $ 6 - 7          : chr [1:13] "857" "954" "865" "783" ...
##  $ 7 - 8          : chr [1:13] "853" "931" "951" "815" ...
##  $ 8 - 9          : chr [1:13] "861" "914" "940" "835" ...
##  $ 9 - 10         : chr [1:13] "885" "882" "967" "867" ...
##  $ 10 - 11        : chr [1:13] "882" "879" "946" "955" ...
##  $ 11 - 12        : chr [1:13] "889" "886" "929" "945" ...
##  $ 12 - 13        : chr [1:13] "841" "910" "897" "972" ...
##  $ 13 - 14        : chr [1:13] "830" "907" "895" "952" ...
##  $ 14 - 15        : chr [1:13] "825" "913" "902" "936" ...
##  $ 15 - 16        : chr [1:13] "815" "866" "927" "905" ...
##  $ 16 - 17        : chr [1:13] "794" "857" "927" "904" ...
##  $ 17 - 18        : chr [1:13] "813" "854" "934" "914" ...
##  $ 18 - 19        : chr [1:13] "835" "847" "890" "942" ...
##  $ 19 - 20        : chr [1:13] "937" "832" "885" "947" ...
##  $ 20 - 21        : chr [1:13] "1063" "860" "888" "963" ...
##  $ 21 - 22        : chr [1:13] "1124" "888" "885" "923" ...
##  $ 22 - 23        : chr [1:13] "1232" "994" "872" "920" ...
##  $ 23 - 24        : chr [1:13] "1306" "1118" "897" "922" ...
##  $ 24 - 25        : chr [1:13] "1354" "1181" "920" "916" ...
##  $ 25 - 26        : chr [1:13] "1400" "1283" "1023" "899" ...
##  $ 26 - 27        : chr [1:13] "1416" "1354" "1141" "918" ...
##  $ 27 - 28        : chr [1:13] "1446" "1395" "1201" "936" ...
##  $ 28 - 29        : chr [1:13] "1439" "1439" "1297" "1033" ...
##  $ 29 - 30        : chr [1:13] "1395" "1452" "1364" "1147" ...
##  $ 30 - 65        : chr [1:13] "37772" "39481" "40941" "41598" ...
##  $ 65 und älter   : chr [1:13] "12033" "12542" "12966" "13694" ...
##  $ Insgesamt      : chr [1:13] "80275" "81539" "82057" "82260" ...
##  - attr(*, "spec")=
##   .. cols(
##   ..   Tab.2.7.24 = col_character(),
##   ..   ...2 = col_character(),
##   ..   ...3 = col_character(),
##   ..   ...4 = col_character()
##   .. )
##  - attr(*, "problems")=<externalptr>
  • Zahlen liegen als Text vor, in nummerisch umwandeln, Erkennung von Kommata und Co.
daten_final$`65 und älter` <- as.numeric(gsub(",", ".", daten_final$`65 und älter`))
daten_final$Insgesamt <- as.numeric(gsub(",", ".", daten_final$Insgesamt))
daten_final$Deutschland <- as.numeric(gsub(",", ".", daten_final$Deutschland))
  • Demografischer Wandel als Anteil 65+ berechnen
daten_final <- daten_final %>%
  mutate(
    Anteil_65plus = (`65 und älter` / Insgesamt) * 100)

Datensatz zeigen

head(Weiterbildungsbeteiligung_clean2)
head(Bevölkerung_clean2)

6. Deskriptive Statistik

Streudiagramm mit Regressionsgerade

Lineare Beziehung prüfen

Hinweis: Jeder Punkt ist ein Jahr

plot(
  daten_final$Anteil_65plus,
     daten_final$Deutschland,
     col = "blue",
     pch = 16,
     main = "Zusammenhang zwischen Anteil 65+ und Weiterbildungsbeteiligung",
     xlab = "Anteil der Bevölkerung 65+ (%)",
     ylab = "Weiterbildungsbeteiligung (%)" 
  )

abline(
  lm(daten_final$Deutschland ~ daten_final$Anteil_65plus),
       col = "red",
       lwd = 2)

Das Streudiagramm mit Regressionsgerade zeigt einen positiven Zusammenhang zwischen den zwei Variablen.

QQ-Plot und Shapiro-Wilk-Test

Normalverteilung prüfen

Für Anteil 65+

qqnorm(daten_final$Anteil_65plus, main = "QQ-Plot für Anteil der 65+")
qqline(daten_final$Anteil_65plus, col = "red")

Die Punkte weichen eher von der Linie ab, das spricht gegen eine Normalverteilung der Variable.

Shapiro-Wilk-Test

shapiro.test(daten_final$Anteil_65plus)
## 
##  Shapiro-Wilk normality test
## 
## data:  daten_final$Anteil_65plus
## W = 0.85417, p-value = 0.0323

Der Shapiro-Wilk-Test ergab, dass die Variable des Anteils der Bevölkerung ab 65 Jahren nicht normalverteilt ist (W = 0,854; p = 0,032).

Für Weiterbildungsbeteiligung

qqnorm(daten_final$Deutschland, main = "QQ-Plot für Weiterbildungsbeteiligung")
qqline(daten_final$Deutschland, col = "red")

Die Punkte dieser Variable liegen relativ nah an der roten Linie. Das spricht dafür, dass die Weiterbildungsbeteiligung näherungsweise normalverteilt ist.

Shapiro-Wilk-Test

shapiro.test(daten_final$Deutschland)
## 
##  Shapiro-Wilk normality test
## 
## data:  daten_final$Deutschland
## W = 0.95604, p-value = 0.6919

Der Shapiro-Wilk-Test ergab, dass die Variable der Weiterbildungsbeteiligung keine signifikante Abweichung von der Normalverteilung aufzeigt (W = 0,956; p = 0,692).

Boxplots

Ausreißer prüfen

# Anteil 65+
boxplot(daten_final$Anteil_65plus,
        main = "Boxplot des Anteils 65+",
        ylab = "Anteil (%)",
        outlier.col = "blue")

# Weiterbildungsbeteiligung
boxplot(daten_final$Deutschland,
        main = "Boxplot des Weiterbildungsbeteiligung",
        ylab = "Anteil (%)",
        outlier.col = "blue")

Theoretisch werden Boxplots mit Ausreißern angezeigt. Die Boxplots zeigten keine auffälligen Ausreißer in den untersuchten Variablen. Somit liegen keine einzelnen Beobachtungen vor, die den Zusammenhang zwischen dem Anteil der Bevölkerung ab 65 Jahren und der Weiterbildungsbeteiligung maßgeblich verzerren könnten.

Korrelation mit Signifikanztest

Da der Shapiro-Wilk-Test für die Variable „Anteil der Bevölkerung ab 65 Jahren“ eine signifikante Abweichung von der Normalverteilung ergab (W = 0,854; p = 0,032), wurden die Voraussetzungen für eine Pearson-Korrelation nicht vollständig erfüllt. Daher wurde die Spearman-Rangkorrelation zur Untersuchung des Zusammenhangs zwischen dem Anteil der Bevölkerung ab 65 Jahren und der Weiterbildungsbeteiligung verwendet.

cor.test(daten_final$Anteil_65plus,
         daten_final$Deutschland,
         method = "spearman")
## 
##  Spearman's rank correlation rho
## 
## data:  daten_final$Anteil_65plus and daten_final$Deutschland
## S = 44.561, p-value = 8.064e-05
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
##       rho 
## 0.8775799

Die Spearman-Rangkorrelation ergab einen sehr starken positiven Zusammenhang zwischen dem Anteil der Bevölkerung ab 65 Jahren und der Weiterbildungsbeteiligung (ρ = 0,878; p < 0,001).

7. Limitation

Es gilt zu beachten, dass dieser Analyse lediglich eine kleine Stichprobe zugrunde liegt. Zudem stellen die einzelnen Beobachtungen zeitlich aggregierte Jahreswerte dar und keine Individualdaten.Die Ergebnisse sollten daher mit entsprechender Vorsicht interpretiert werden. Dieses Ergebnis sollte jedoch nicht als Nachweis eines ursächlichen Zusammenhangs interpretiert werden. Die Korrelation beschreibt lediglich, dass beide Variablen gemeinsam ansteigen. Ob der demografische Wandel tatsächlich zu einer höheren Weiterbildungsbeteiligung führt oder ob beide Entwicklungen durch weitere Einflussfaktoren beeinflusst werden, lässt sich mit dieser Analyse nicht beantworten.

8. Ergebnis

Die Korrelationsanalyse ergab einen statistisch signifikanten und starken positiven Zusammenhang zwischen dem Anteil der Bevölkerung ab 65 Jahren und der Weiterbildungsbeteiligung. Die Untersuchung liefert einen Hinweis darauf, das in den untersuchten Jahren ein höherer Anteil älterer Menschen tendenziell auch mit einer höheren Weiterbildungsbeteiligung verbunden ist. Die Ergebnisse verdeutlichen zudem die Bedeutung lebenslangen Lernens in einer alternden Gesellschaft. Zukünftige Studien könnten den Zusammenhang mithilfe längerer Zeitreihen, weiterer erklärender Variablen oder multivariater Regressionsmodelle genauer untersuchen, um die zugrunde liegenden Einflussfaktoren besser zu verstehen.