Як розрахувати 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *