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

86 lines
3.6 KiB
Markdown

## **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
<p style="text-align:center;margin:0">
</p>
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.**