Як розрахувати z-оцінки в python
У статистиці z-показник говорить нам, скільки стандартних відхилень має значення від середнього . Ми використовуємо наступну формулу для розрахунку z-показника:
z = (X – μ) / σ
золото:
- X – це одне значення необроблених даних
- μ – середнє значення сукупності
- σ — стандартне відхилення сукупності
У цьому підручнику пояснюється, як обчислити z-показники для значень необроблених даних у Python.
Як обчислити Z-оцінки в Python
Ми можемо обчислити z-показники в Python за допомогою scipy.stats.zscore , який використовує такий синтаксис:
scipy.stats.zscore(a, axis=0, ddof=0, nan_policy=’propagate’)
золото:
- a : об’єкт типу масиву, що містить дані
- axis : вісь, уздовж якої обчислюються z-оцінки. Значення за замовчуванням 0.
- ddof : корекція ступенів свободи в обчисленні стандартного відхилення. Значення за замовчуванням 0.
- nan_policy : як діяти, коли вхідні дані містять nan. Типовим є propagate, який повертає nan. ‘raise’ викликає помилку, а ‘omit’ виконує обчислення, ігноруючи значення nan.
У наведених нижче прикладах показано, як використовувати цю функцію для обчислення z-показників для одновимірних масивів numpy, багатовимірних масивів numpy та Pandas DataFrames.
Одновимірні масиви Numpy
Крок 1. Імпортуйте модулі.
import pandas as pd import numpy as np import scipy.stats as stats
Крок 2. Створіть таблицю значень.
data = np.array([6, 7, 7, 12, 13, 13, 15, 16, 19, 22])
Крок 3. Обчисліть z-показники для кожного значення в таблиці.
stats.zscore(data)
[-1.394, -1.195, -1.195, -0.199, 0, 0, 0.398, 0.598, 1.195, 1.793]
Кожен z-показник говорить нам, скільки стандартних відхилень має окреме значення від середнього. Наприклад:
- Перше значення «6» у таблиці на 1,394 стандартних відхилень нижче середнього.
- П’яте значення «13» у таблиці дорівнює 0 стандартному відхиленню від середнього, тобто дорівнює середньому.
- Останнє значення «22» у таблиці становить 1,793 стандартних відхилень вище середнього.
Багатовимірні масиви Numpy
Якщо у нас є багатовимірний масив, ми можемо використовувати параметр axis , щоб вказати, що ми хочемо обчислити кожен z-показник відносно його власного масиву. Наприклад, припустимо, що ми маємо такий багатовимірний масив:
data = np.array([[5, 6, 7, 7, 8], [8, 8, 8, 9, 9], [2, 2, 4, 4, 5]])
Ми можемо використати наступний синтаксис для обчислення z-показників для кожної таблиці:
stats.zscore(data, axis=1) [[-1.569 -0.588 0.392 0.392 1.373] [-0.816 -0.816 -0.816 1.225 1.225] [-1.167 -1.167 0.5 0.5 1.333]]
Z-оцінки для кожного окремого значення відображаються відносно таблиці, у якій вони знаходяться. Наприклад:
- Перше значення «5» у першій таблиці на 1,159 стандартних відхилень нижче середнього значення таблиці.
- Перше значення «8» у другій таблиці на 0,816 стандартних відхилень нижче середнього значення таблиці.
- Перше значення «2» у третій таблиці на 1,167 стандартних відхилень нижче середнього значення таблиці.
Кадри даних Pandas
Припустімо, що замість цього у нас є Pandas DataFrame:
data = pd.DataFrame(np.random.randint(0, 10, size=(5, 3)), columns=['A', 'B', 'C']) data ABC 0 8 0 9 1 4 0 7 2 9 6 8 3 1 8 1 4 8 0 8
Ми можемо використовувати функцію apply для обчислення z-оцінки окремих значень на стовпець:
data.apply(stats.zscore) ABC 0 0.659380 -0.802955 0.836080 1 -0.659380 -0.802955 0.139347 2 0.989071 0.917663 0.487713 3 -1.648451 1.491202 -1.950852 4 0.659380 -0.802955 0.487713
Z-оцінки для кожного окремого значення відображаються відносно стовпця, у якому вони розташовані. Наприклад:
- Перше значення «8» у першому стовпчику становить 0,659 стандартних відхилень вище середнього значення його стовпця.
- Перше значення «0» у другому стовпчику на 0,803 стандартних відхилень нижче середнього значення в його стовпчику.
- Перше значення «9» у третьому стовпчику становить 0,836 стандартних відхилень вище середнього значення його стовпця.
Додаткові ресурси:
Як обчислити Z-оцінки в Excel
Як обчислити Z-оцінки в SPSS
Як розрахувати Z-оцінки на калькуляторі TI-84