DSPROGLIB Telegram 6818
Полезная шпаргалка: как выбрать правильное распределение для данных

1️⃣ Начните с гистограммы

— Простая, но мощная визуализация.
— Помогает понять форму данных: колоколообразная (Normal), быстро падающая (Exponential), ровная (Uniform), с несколькими пиками (Mixture).
import matplotlib.pyplot as plt
import numpy as np

data = np.random.normal(50, 15, 1000)
plt.hist(data, bins=30, color='skyblue', edgecolor='black', alpha=0.7)
plt.xlabel('Values'); plt.ylabel('Count'); plt.title('Гистограмма данных')
plt.show()


2️⃣ Протестируйте разные распределения

— Используем библиотеку distfit для подбора распределений.
— Проверяет ~90 типов распределений автоматически:
from distfit import distfit
import numpy as np

my_data = np.random.normal(25, 8, 2000)
fitter = distfit(method='parametric')
fitter.fit_transform(my_data)

print("Лучшее распределение:", fitter.model['name'])
print("Параметры:", fitter.model['params'])


3️⃣ Визуализируйте подгонку

— Всегда проверяй глазами!
— Используй PDF (распределение) и CDF (кумулятивное распределение):
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(15,6))
fitter.plot(chart='PDF', ax=ax1); ax1.set_title('PDF')
fitter.plot(chart='CDF', ax=ax2); ax2.set_title('CDF')
plt.show()


4️⃣ Не забывайте про нестандартные данные

— Дискретные счётные данные → binomial, Poisson.
— Сложные или многопиковые данные → non-parametric (quantile, percentile).

Пример:
from scipy.stats import binom
count_data = binom(20, 0.3).rvs(1000)
discrete_fitter = distfit(method='discrete')
discrete_fitter.fit_transform(count_data)
discrete_fitter.plot()


5️⃣ Проверяйте стабильность

— Бутстрэпинг помогает проверить, насколько выбранное распределение устойчиво к случайным выборкам:
fitter.bootstrap(my_data, n_boots=100)
print(fitter.summary[['name','score','bootstrap_score','bootstrap_pass']])


🐸 Библиотека дата-сайентиста

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍1



tgoop.com/dsproglib/6818
Create:
Last Update:

Полезная шпаргалка: как выбрать правильное распределение для данных

1️⃣ Начните с гистограммы

— Простая, но мощная визуализация.
— Помогает понять форму данных: колоколообразная (Normal), быстро падающая (Exponential), ровная (Uniform), с несколькими пиками (Mixture).

import matplotlib.pyplot as plt
import numpy as np

data = np.random.normal(50, 15, 1000)
plt.hist(data, bins=30, color='skyblue', edgecolor='black', alpha=0.7)
plt.xlabel('Values'); plt.ylabel('Count'); plt.title('Гистограмма данных')
plt.show()


2️⃣ Протестируйте разные распределения

— Используем библиотеку distfit для подбора распределений.
— Проверяет ~90 типов распределений автоматически:
from distfit import distfit
import numpy as np

my_data = np.random.normal(25, 8, 2000)
fitter = distfit(method='parametric')
fitter.fit_transform(my_data)

print("Лучшее распределение:", fitter.model['name'])
print("Параметры:", fitter.model['params'])


3️⃣ Визуализируйте подгонку

— Всегда проверяй глазами!
— Используй PDF (распределение) и CDF (кумулятивное распределение):
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(15,6))
fitter.plot(chart='PDF', ax=ax1); ax1.set_title('PDF')
fitter.plot(chart='CDF', ax=ax2); ax2.set_title('CDF')
plt.show()


4️⃣ Не забывайте про нестандартные данные

— Дискретные счётные данные → binomial, Poisson.
— Сложные или многопиковые данные → non-parametric (quantile, percentile).

Пример:
from scipy.stats import binom
count_data = binom(20, 0.3).rvs(1000)
discrete_fitter = distfit(method='discrete')
discrete_fitter.fit_transform(count_data)
discrete_fitter.plot()


5️⃣ Проверяйте стабильность

— Бутстрэпинг помогает проверить, насколько выбранное распределение устойчиво к случайным выборкам:
fitter.bootstrap(my_data, n_boots=100)
print(fitter.summary[['name','score','bootstrap_score','bootstrap_pass']])


🐸 Библиотека дата-сайентиста

#свежак

BY Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение




Share with your friend now:
tgoop.com/dsproglib/6818

View MORE
Open in Telegram


Telegram News

Date: |

Just as the Bitcoin turmoil continues, crypto traders have taken to Telegram to voice their feelings. Crypto investors can reduce their anxiety about losses by joining the “Bear Market Screaming Therapy Group” on Telegram. The administrator of a telegram group, "Suck Channel," was sentenced to six years and six months in prison for seven counts of incitement yesterday. To edit your name or bio, click the Menu icon and select “Manage Channel.” With the administration mulling over limiting access to doxxing groups, a prominent Telegram doxxing group apparently went on a "revenge spree." Concise
from us


Telegram Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
FROM American