Як різноманітні статистичні методи (регресія, PCA тощо) масштабують з розміром та розміром вибірки?


10

Чи відома загальна таблиця статистичних методик, яка пояснює, як вони масштабуються з розміром і розміром вибірки? Наприклад, мій друг сказав мені днями, що час обчислення просто швидкого сортування одновимірних даних за розміром n йде як n * log (n).

Наприклад, якщо ми регресуємо y проти X, де X є d-мірною змінною, чи йде вона як O (n ^ 2 * d)? Як воно масштабується, якщо я хочу знайти рішення за допомогою точного рішення Гаусса-Маркова проти чисельних найменших квадратів методом Ньютона? Або просто отримати рішення проти використання значень тестів?

Напевно, я більше хочу хорошого джерела відповідей (як документ, який резюмує масштабування різних статистичних методів), ніж хорошої відповіді. Як, скажімо, список, що включає масштабування множинної регресії, логістичну регресію, PCA, коксо-пропорційну регресію небезпеки, кластеризацію K-засобів тощо.


Це гарне запитання. Багато книжок зі статистикою говорять про теоретичні аспекти об'ємних даних, а не про обчислювальні аспекти.
shadowtalker

У багатьох випадках в оригінальній літературі буде обговорюватися складність. Але часто теоретична складність марна. QuickSort має найгірший випадок O (n ^ 2), але найчастіше найшвидший - швидший, ніж HeapSort, який має гірший випадок O (n log n). Якщо зробити невелике дослідження, ви дізнаєтесь результати складності для багатьох алгоритмів - якщо вони відомі. Наприклад, PCA є O (nd ^ 3), k - означає O (nkid) тощо.
Має QUIT - Anonymous-Mousse

Відповіді:


6

Більшість ефективних (і нетривіальних) статистичних алгоритмів мають ітеративний характер, тому аналіз гіршого випадку O()не має значення, оскільки найгірший випадок - це "не вдається конвергувати".

Тим не менш, коли у вас є багато даних, навіть лінійні алгоритми ( O(n)) можуть бути повільними, і тоді вам потрібно зосередитись на постійному «захованому» за нотацією. Наприклад, обчислення дисперсії однієї змінної наївно виконується скануванням даних двічі (один раз для обчислення середньої оцінки, а потім один раз для оцінки дисперсії). Але це також можна зробити за один прохід .

Для ітеративних алгоритмів важливіше швидкість конвергенції та кількість параметрів як функція розмірності даних, елемент, який сильно впливає на конвергенцію. Багато моделей / алгоритму вирощують ряд параметрів, які є експоненціальними щодо кількості змінних (наприклад, сплайни), а деякі інші ростуть лінійно (наприклад, підтримуючі векторні машини, випадкові ліси, ...)


Я не впевнений, що я згоден з цим: при розробці алгоритму статистичної задачі багато проблем викликає складність кожного ітеративного кроку (і, як правило, документується в рукописі). Але, як ви зазначаєте, часто це не так просто підсумовувати, оскільки два алгоритми з однаковою складністю за ітерацію можуть виконуватись дуже по-різному через необхідні ітерації. При цьому, дуже рідко кількість необхідних ітерацій зростає швидше, ніж O(log(n) ).
Кліф АВ

5

Ви згадали регресію та PCA у назві, і для кожного з них є певна відповідь.

Асимптотична складність лінійної регресії зменшується до O (P ^ 2 * N), якщо N> P, де P - кількість ознак, а N - кількість спостережень. Більш докладно в обчислювальній складності роботи найменшої квадратної регресії .

Ванільна PCA - це O (P ^ 2 * N + P ^ 3), як у алгоритмі найшвидшого PCA для високомірних даних . Однак швидкі алгоритми існують для дуже великих матриць, пояснених у цій відповіді та найкращим алгоритмом PCA для величезної кількості функцій? .

Однак я не думаю, що хтось склав єдиний запальний огляд чи довідку чи книгу з цього приводу. Можливо, це не поганий проект для мого вільного часу ...


Дякую, це дуже корисно! Якщо ви зробите огляд літератури для різних методів прогнозування моделей, я впевнений, що на неї буде багато посилань. Було б дуже корисно людям, які хочуть розмежувати, які алгоритми використовувати у великих n або великих p випадках, або середні значення тих, для більш точних розрахунків. Чи знаєте ви, як масштабують деякі більш незрозумілі методи? (Як і пропорційна регресія небезпеки Кокса або аналіз підтверджуючих факторів)
Bridgeburners

На жаль, ні, але якщо я коли-небудь буду робити цей огляд, я постараюся бути вичерпним. Навряд чи я б назвав регресію Кокса "незрозумілою", принаймні в моєму полі.
shadowtalker

5

Я дав дуже обмежену часткову відповідь на пакет підтверджуючого аналізу факторів, який я розробив для Stata в цій статті Stata Journal, грунтуючись на терміні фактичного моделювання. Підтверджуючий факторний аналіз був застосований як методика оцінки максимальної вірогідності, і я міг дуже легко бачити, як час обчислення зростає з кожним виміром (розмір вибірки n, кількість змінних p, кількість факторів k). Оскільки це сильно залежить від того, як Stata думає про дані (оптимізований для обчислення в стовпцях / спостереженнях, а не по рядках), я визнав ефективністьO(n^{0.68} (k+p)^{2.4})де 2.4 - це найшвидша асимптотика інверсійної матриці (а в ітераційній максимізації підтверджуючого фактора є багато цього). Я не давав посилання на останнє, але, думаю, це я отримав з Вікіпедії .

X'X108


2
Форматування математики не працює на DataScience? Дійсно? Можливо, ми повинні попросити його отримати.
Стаск

Хороший момент щодо числової точності.
shadowtalker
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.