🔎 Как построить функцию распределения по выборке Python
Как построить функцию распределения по выборке в Python?
Для построения функции распределения по выборке в Python вы можете воспользоваться библиотекой NumPy и функцией cumsum.
import numpy as np
# Создание случайной выборки
sample = np.random.normal(size=100)
# Сортировка выборки
sorted_sample = np.sort(sample)
# Построение функции распределения
cdf = np.cumsum(sorted_sample) / len(sorted_sample)
print(cdf)
В приведенном примере мы:
- Импортируем библиотеку NumPy.
- Создаем случайную выборку с помощью функции random.normal.
- Сортируем выборку с помощью функции sort.
- Вычисляем функцию распределения с помощью функции cumsum и делим на размер выборки.
- Выводим результат.
Таким образом, вы можете использовать функцию cumsum из библиотеки NumPy для построения функции распределения по выборке в Python.
Детальный ответ
Как построить функцию распределения по выборке в Python
Построение функции распределения по выборке является важной задачей в анализе данных. В Python существует несколько способов выполнить это. В этой статье мы рассмотрим методы, позволяющие построить функцию распределения по выборке в языке программирования Python.
1. Использование библиотеки NumPy
Библиотека NumPy предоставляет функцию numpy.histogram, которая позволяет построить гистограмму и получить значения функции распределения. Гистограмма представляет собой столбчатую диаграмму, показывающую частоту появления значений в выборке.
import numpy as np
# Создание случайной выборки
sample = np.random.normal(loc=0, scale=1, size=100)
# Построение гистограммы
hist, bins = np.histogram(sample, bins=10, density=True)
# Вычисление значения функции распределения
cdf = np.cumsum(hist * np.diff(bins))
# Вывод результатов
print("Значения функции распределения:")
print(cdf)
В этом примере мы создаем случайную выборку с использованием функции np.random.normal из библиотеки NumPy. Затем мы используем функцию numpy.histogram, чтобы построить гистограмму с указанием количества бинов (столбцов) равным 10 и параметром density=True, чтобы получить нормализованные значения. После этого мы используем функцию numpy.cumsum для вычисления значения функции распределения путем накопления суммы значений гистограммы за каждый бин.
2. Использование библиотеки SciPy
Библиотека SciPy также предоставляет функции для работы с функциями распределения. Например, функция scipy.stats.cumfreq позволяет вычислить накопленные частоты (значения функции распределения) для заданной выборки.
from scipy import stats
# Создание случайной выборки
sample = np.random.normal(loc=0, scale=1, size=100)
# Вычисление накопленных частот
cumfreq = stats.cumfreq(sample, numbins=10)
# Получение значений функции распределения
cdf = cumfreq.cumcount / len(sample)
# Вывод результатов
print("Значения функции распределения:")
print(cdf)
В этом примере мы создаем случайную выборку, а затем используем функцию scipy.stats.cumfreq для вычисления накопленных частот для указанного числа бинов. Затем мы делим полученные накопленные частоты на размер выборки, чтобы получить значения функции распределения.
3. Использование библиотеки Matplotlib
Еще один способ построить функцию распределения по выборке в Python - использовать библиотеку Matplotlib для построения эмпирической функции распределения (ЭФР).
import matplotlib.pyplot as plt
# Создание случайной выборки
sample = np.random.normal(loc=0, scale=1, size=100)
# Построение ЭФР
n, bins, patches = plt.hist(sample, bins=10, density=True, cumulative=True)
# Вывод результатов
print("Значения функции распределения:")
print(n)
В этом примере мы используем функцию plt.hist из библиотеки Matplotlib для построения эмпирической функции распределения. Параметр cumulative=True указывает, что необходимо построить накопленную функцию распределения. Значения функции распределения доступны в результирующем массиве n.
Вывод
Мы рассмотрели несколько способов построения функции распределения по выборке в языке программирования Python. Отметим, что результаты могут отличаться в зависимости от выбранного метода. Поэтому важно выбирать подходящий метод в зависимости от поставленных задач и требуемой точности.
Использование библиотек NumPy, SciPy и Matplotlib позволяет удобно работать с функциями распределения и генерировать графики для визуализации результатов. При выполнении анализа данных всегда полезно иметь возможность оценить вид распределения и его свойства.