This repository has been archived on 2025-07-10. You can view files and clone it, but cannot push or open issues or pull requests.
Files
forschungsprojekte/Systemische Kompetenzentwicklung HRT/Modellprüfung/Statistische Analyse.md

3.6 KiB

Um die statistischen Analysen in dein bestehendes Modell einzufügen, darunter die Berechnung von Konfidenzintervallen und das Erstellen von Histogrammen zur Visualisierung der Endkompetenzwerte, kannst du den Code wie folgt erweitern:

Ergänzung zum Code

Nach der Simulation und grundlegenden Analyse können die folgenden Schritte implementiert werden:

	Berechnung von Konfidenzintervallen für den mittleren Kompetenzwert am Ende der Simulationsperiode.
	- Erstellung von Histogrammen der Endkompetenzwerte, um die Verteilung zu visualisieren.

Hier ist der vollständige Code mit den zusätzlichen statistischen Analysen:

python

Copy code import numpy as np import pandas as pd import matplotlib.pyplot as plt import scipy.stats as stats

Definiere die Startbedingungen und Parameter

start_kompetenz = 1.25 quartale = 12 bereitschafts_std = 0.1 bereitschafts_steigerung_phase = { 'Anpassung': -0.1, 'Verfestigung': 0.2, 'Wachstum': 0.5, 'Plateau': 0.7 }

Funktionen zur Anpassung der Bereitschaft, Motivation und Neugier

def anpassung_der_bereitschaft(aktuelles_quartal): if aktuelles_quartal <= 4: return bereitschafts_steigerung_phase['Anpassung'] elif 5 <= aktuelles_quartal <= 6: return bereitschafts_steigerung_phase['Verfestigung'] elif 7 <= aktuelles_quartal <= 10: return bereitschafts_steigerung_phase['Wachstum'] else: return bereitschafts_steigerung_phase['Plateau']

def motivation(aktuelles_quartal): if aktuelles_quartal == 8: return -0.3 elif aktuelles_quartal == 12: return 0.4 return 0

def neugier(aktuelles_quartal, start_kompetenz): if start_kompetenz < 5: return 0.2 if aktuelles_quartal <= 6 else -0.1 return 0.1 if aktuelles_quartal <= 6 else -0.05

Simulation der Kompetenzentwicklung

simulations_durchläufe = 1000 ergebnisse = pd.DataFrame()

for durchlauf in range(simulations_durchläufe): kompetenz = [start_kompetenz] for quartal in range(1, quartale + 1): steigerung = anpassung_der_bereitschaft(quartal) + motivation(quartal) + neugier(quartal, start_kompetenz) bereitschaft = np.random.normal(steigerung, bereitschafts_std) neue_kompetenz = np.clip(kompetenz[-1] + bereitschaft, 1, 10) kompetenz.append(neue_kompetenz) ergebnisse[f'Quartal_{durchlauf}'] = kompetenz

Berechnung von Konfidenzintervallen

end_kompetenzen = ergebnisse.iloc[-1] mittelwert = end_kompetenzen.mean() std_abweichung = end_kompetenzen.std() konfidenzintervall = stats.norm.interval(0.95, loc=mittelwert, scale=std_abweichung / np.sqrt(len(end_kompetenzen)))

Visualisierung von Histogramm der Endkompetenz

plt.figure() plt.hist(end_kompetenzen, bins=10, color='blue', alpha=0.7) plt.title('Histogramm der Endkompetenzwerte') plt.xlabel('Kompetenzniveau') plt.ylabel('Häufigkeit') plt.grid(True) plt.show()

Ausgabe der Analyseergebnisse

print("Durchschnittliche Endkompetenz:", mittelwert) print("Standardabweichung der Endkompetenz:", std_abweichung) print("95% Konfidenzintervall für die mittlere Endkompetenz:", konfidenzintervall)

Erklärung

  • Konfidenzintervalle: Das 95% Konfidenzintervall gibt an, wo die wahre mittlere Endkompetenz mit 95% Sicherheit liegt. Es wird unter der Annahme berechnet, dass die Endkompetenzen normalverteilt sind.
  • Histogramm: Dieses visualisiert die Verteilung der Endkompetenzwerte aller Simulationsdurchläufe, was hilft, die Form der Verteilung zu erkennen und auf Anomalien zu prüfen.

Dieser Code fügt deinem Simulationsmodell wichtige statistische Analysen hinzu, um die Unsicherheit und Verteilung der Ergebnisse zu verstehen.