Квартілі в Excel


10

Мене цікавить визначення квартилу, яке зазвичай використовується, коли ви перебуваєте в базовій статистиці. У мене є книга типу 101, і це просто дає зрозуміле визначення. "Приблизно одна чверть даних припадає на перший квартал або нижче ..." Але це приклад, коли він обчислює Q1, Q2 і Q3 для набору даних

5, 7, 9, 10, 11, 13, 14, 15, 16, 17, 18, 18, 20, 21, 37

Оскільки є 15 даних, він вибирає 15 як медіану, Q2. Потім він розбиває решту даних на дві половини, 5 - 14 та 16 - 37. Кожна з них містить 7 фрагментів даних, і вони знаходять медіану кожного з цих наборів, 10 та 18, як Q1 та Q3 відповідно. Ось як я би сам це порахував.

Я переглянув статтю Вікіпедії, і вона дає 2 методи. Один з них згоден, і один говорить, що ви також могли б включити медіану 15 в обох наборах (але ви б не включали медіану, якби це було середнє значення двох середніх чисел у випадку парної кількості точок даних). Це все для мене має сенс.

Але потім я перевірив Excel, щоб побачити, як обчислює його Excel. Я використовую Excel 2010, який має 3 різні функції. Квартиль був доступний у 2007 році та попередніх версіях. Здається, вони хочуть, щоб ви припинили використовувати це в 2010 році, але це все ще доступно. Наскільки я можу сказати, Quartile.Inc є новим, але точно погоджується з Quartile. І ще є Quartile.Exc. Обидва останні 2 нові в 2010 році, я вважаю. Цього разу я просто спробував використовувати цілі числа 1, 2, 3, ..., 10. Я очікую, що Excel дасть медіану 5,5, Q1 3 та Q3 8. Метод із книги статистики, а також оскільки обидва методи у Вікіпедії дадуть ці відповіді, оскільки медіана - це середнє значення середніх двох чисел. Excel дає

quartile number, Quartile.Inc, Quartile.Exc
1,               3.25,         2.75 
2,               5.5,          5.5
3,               7.75,         8.25

Жоден із них не погоджується з тим, про що я говорив раніше.

Описи у довідковому файлі для Excel:

Quartile.Inc - Повертає квартал набору даних на основі значень відсотків від 0..1 включно.

Quartile.Exc - Повертає чверть набору даних на основі значень відсотків від 0..1, виключно.

Чи може хтось допомогти мені зрозуміти це визначення, яке використовує Excel?


5
Ще одна чудова ілюстрація того, чому б не використовувати Excel ні для чого статистичного. :-)
Уейн

1
Друзі не дозволяють друзям використовувати Excel для статистики. Сумно, але правда
Кріс Білі

Відповіді:


11

Зазвичай ранг (від до для даних) перетворюється у відсоток за допомогою формули1 n n pr1nnp

p=100rαn+12α

для деяких заздалегідь визначених "графіків позицій" між і включно. Розв’язування для з точки зору дає0 1 r pα01rp

r=(n+12α)(p/100)+α.

Excel історично використовував для своїх та функційα=1PERCENTILEQUARTILE . Документація для QUARTILE.INCі QUARTILE.EXCмарно, так що ми повинні перепроектувати , що ці функції роблять.

Наприклад, з даними маємо і для трьох кватилів. Використовуючи у попередній формулі, виходить , і , відтворюючи результати для .n = 10 p { 25 , 50 , 75 } α = 1 9 ( 0,25 ) + 1 = 3,25 9 ( 0,50 ) + 1 = 5,5 9 ( 0,75 ) + 1 =(1,2,3,4,5,6,7,8,9,10)n=10p{25,50,75}α=19(0.25)+1=3.259(0.50)+1=5.59(0.75)+1=7.75QUARTILE.INC

Якщо замість цього встановити відповідні ранги становлять , і , відтворюючи результати для .11 ( 0,25 ) = 2,75 11 ( 0,50 ) = 5,5 11 ( 0,75 ) = 8,25α=011(0.25)=2.7511(0.50)=5.511(0.75)=8.25QUARTILE.EXC

Подальше тестування з вашого боку (у мене немає останньої версії Excel) може встановити обґрунтованість моєї здогадки про те, що ці дві версії функції квартилі визначаються цими двома (крайніми) значеннямиα .

До речі, дробові ранги перетворюються у значення даних за допомогою лінійної інтерполяції. Процес пояснюється та проілюстровано в моїх курсових записках на Percentiles та EDF Slotts - view внизу цієї сторінки. Також є посилання на таблицю Excel, що ілюструє обчислення.

Якщо ви хочете реалізувати загальну функцію процентиля в Excel , ось вам макрос VBA:

'
' Converts a percent, computed using plotting position constant A,
' into a percent appropriate for the Excel Percentile() and
' Quartile() functions.  (The default value of A for Excel is 1;
' most values in use are between 0 and 0.5.)
'
Public Function PercentileA(P As Double, N As Integer, A As Double) As Double
    If N < 1 Or A < 0# Or A > 1# Or P < 0# Or P > 1# Then
        Exit Function
    End If
    If N < 2 Then
        PercentileA = 0.5
    Else
        PercentileA = ((N - 2 * A + 1) * P + A - 1) / (N - 1)
    End If
End Function

Він перетворює номінальний відсоток (наприклад, 25/100) у відсотки, що призведе до того, що PERCENTILEфункція Excel поверне потрібне значення. Призначений для використання у формулах клітин, як у =PERCENTILE(Data, PercentileA(0.25, Count(Data), 0.5)).


Зауважте, що як тільки ви зрозумієте, що саме робить Excel, ви можете ефективно використовувати це для статистичної роботи.
whuber

5
Якщо я можу з жартівливим згодом не погодитися з вашим коментарем: Excel можна ефективно використовувати для статистичної роботи, якщо ви є майстром статистики, який може довести з першооснов, що слід робити, то використовуйте методи Excel-реверса, щоб визначити, що він насправді робить. Коли ти такий добрий, більшість будь-яких інструментів зробить. Хоча я також зазначив, що в цій темі 100% майстрів, що беруть участь у цій дискусії, досі не мають доступу до останньої версії Excel, тому навряд чи реально її використовують.
Уейн

Touche ', @Wayne. (Але деякі з нас досі використовують старіші версії Excel :-).)
whuber

1
Whuber, дякую за те, що поділився рішенням VBA. Це буде дуже корисно. Оскільки хтось, хто повинен робити статистику, але застряг у Excel як єдиному легкодоступному інструменті (так, я спробував R, але не можу цілком обробити голову), я ціную інструменти, які допомагають примусити Excel до моїх потреб.
дан

4

Мені здається, що Excel quartile.incпогоджується з оригіналом quartile, який узгоджується з дефолтами R та іншими визначеннями.

З корисною підказкою від whuber, я виявив, що, quartile.excсхоже , Excel погоджується (на випадок 1..10) з type=6визначенням R у квантилі:

   > For types 4 through 9, Q[i](p) is a continuous function of p, with
    > gamma = g and m given below. The sample quantiles can be obtained
    > equivalently by linear interpolation between the points (p[k],x[k])
    > where x[k] is the kth order statistic. Specific expressions for p[k]
    > are given below.
    > 
    > ...
    > 
    > 
    > Type 6 m = p
    >       .p[k] = k / (n + 1). Thus p[k] = E[F(x[k])].
    >       This is used by Minitab and by SPSS.

Що, очевидно, відповідає на ваше запитання: "Так, Minitab і SPSS роблять".


Чи не має R дев'ять визначень квантилів? (+1 для редагування, btw)
whuber

@whuber: Не звертай уваги на людину за шторою! (Я відредагую свою відповідь. Після подальшої експертизи вона відповідає одному з інших визначень R, що, очевидно, застосовують Minitab та SPSS. Дякую!)
Wayne

2

Я думаю, що ексклюзивний аромат квартири - це просто ігнорування 5 і 37 (хв і макс у ваших початкових даних).

У Stata і за замовчуванням, і за альтернативними версіями ви отримуєте ці дані.


Здається, ця здогадка не відповідає документації, яка стверджує, що максимум і хв дійсно можуть бути повернені QUARTILE.EXC.
whuber

У моїй версії Excel 2010 QUARTILE.EXC (діапазон комірок, k) поверне #NUM! якщо k = {1,2,3}, які відповідають 25-му, 50-му та 75-му відсоткам відповідно до спливаючого меню, яке з’являється. Оригінальний QUARTILE також прийме 0 і 4 як другий аргумент, який відповідає min та max.
Мастеров Дмитро Васильович

1
У документації зазначено "Якщо кварт ≤ 0 або якщо кварт ≥ 4, QUARTILE.EXC повертає значення помилки #NUM!" Це здається правдою. Другий вислів "MIN, MEDIAN і MAX повертає те саме значення, що і QUARTILE.EXC, коли кварт дорівнює 0 (нулю), 2 та 4 відповідно", видається помилковим, якщо я щось не пропускаю. Який безлад!
Мастеров Дмитро Васильович

+1 Дякую, що перевірили це, Димитрію! Дійсно, єдина відмінність між моєю здогадкою та вашою (яка фактично перетворює у та віднімає з кожного рангу) полягає в тому, що моя формула дійсно повинна повертати min та max для 0 та 100 відсотків відповідно, а не так. це здається, що ваша характеристика є кращою (але моя характеристика забезпечує виправдання для вашої). Цікаво, що робить поточна функція Excel ? :-)n - 1 1nn11#NUM!PERCENTILE
whuber

1
Три аромати перцентилю поводяться так само, як і для мене квартилі. Для даних 5-37 PERCENTILE.EXC (діапазон, к) дає #NUM! при k = {0,1}. Для k = 0,25, PERCENTILE.EXC дає 10. Якщо я відкидаю 5 і 37, він дає 10,5, що узгоджується з іншими 2 способами.
Мастеров Дмитро Васильович

2

Дуже багато цікавих деталей, але для того, щоб повернутися до початкового запитання, я не бачу, що дійсно важливі два трохи різні способи, які можуть не дати абсолютно однакової відповіді. Перший кватилій - це точка, в якій 25% спостережень падають на нього або нижче. Залежно від розміру вибірки, який може бути або не бути точним моментом у даних. Отже, якщо одна точка внизу, а наступна вгорі, цей перший квартал насправді не чітко визначений і будь-яка точка між цими двома може служити однаково добре. Те саме стосується медіани, коли розмір вибірки є рівним. Правило підбирає середину між точками даних нижче та вище. Але насправді нічого не говорить про те, що вибір, який дає правило, насправді кращий, ніж будь-який інший момент.


α1/31/2

0

Для тих із вас, хто використовує Excel, є досить непогана розбивка різних методів версій тут http://peltiertech.com/WordPress/comppare/


2
Було б краще, якби ви могли узагальнити їх у своїй відповіді. Хоча посилання може відповісти на запитання, яке вони іноді застаріли, і в цьому випадку ваша відповідь не буде корисною для майбутніх читачів.
Енді

0

у excel 2016 я помітив, що можна отримати правильні значення квартилів, якщо:

  • набір даних має непарну кількість записів: використовуйте QUARTILE.EXC
  • набір даних має рівну кількість записів: використовуйте середнє значення QUARTILE.EXC і QUARTILE.INC

1
З огляду на те, скільки визначень квантилів існує, як це показано в деяких інших відповідях, чи можете ви пояснити, що ви маєте на увазі під правильними значеннями?
mdewey
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.