2026. június 21., vasárnap

Szimulált hipotézis pythonban

Szimulált hipotézis pythonban
--------------
import numpy as np
import pandas as pd
import scipy.stats as stats
import matplotlib.pyplot as plt

# 1. Adatgenerálás: Szimulált kísérleti adatok (pl. kontroll és kezelt csoport)
np.random.seed(42)
csoport_kontroll = np.random.normal(loc=100, scale=15, size=50) # Átlag=100, Szórás=15
csoport_kezelt = np.random.normal(loc=115, scale=12, size=50)   # Átlag=115, Szórás=12

# 2. Adatrendszerezés (Pandas DataFrame)
df = pd.DataFrame({
    'Csoport': ['Kontroll'] * 50 + ['Kezelt'] * 50,
    'Eredmeny': np.concatenate([csoport_kontroll, csoport_kezelt])
})

# 3. Statisztikai Elemzés: Kétmintás t-próba
stat, p_ertek = stats.ttest_ind(csoport_kontroll, csoport_kezelt)

print(f"Statisztikai próba eredménye: t = {stat:.4f}, p-érték = {p_ertek:.4e}")
if p_ertek < 0.05:
    print("Következtetés: A különbség statisztikailag szignifikáns (elutasítjuk a nullhipotézist).")
else:
    print("Következtetés: Nincs szignifikáns különbség a csoportok között.")

# 4. Vizualizáció: Boxplot éshisztogram
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(14, 5))

# Boxplot
df.boxplot(column='Eredmeny', by='Csoport', ax=ax1)
ax1.set_title('Csoportok összehasonlítása (Boxplot)')
ax1.set_ylabel('Értékek')

# Hisztogramok
ax2.hist(csoport_kontroll, bins=10, alpha=0.6, label='Kontroll', color='blue')
ax2.hist(csoport_kezelt, bins=10, alpha=0.6, label='Kezelt', color='orange')
ax2.set_title('Eloszlások')
ax2.set_xlabel('Eredmények')
ax2.set_ylabel('Gyakoriság')
ax2.legend()

plt.tight_layout()
plt.show()
---------------
Statisztikai próba eredménye: t = -7.5141, p-érték = 2.7192e-11
Következtetés: A különbség statisztikailag szignifikáns (elutasítjuk a nullhipotézist).

Nincsenek megjegyzések:

Megjegyzés küldése