Як аналізувати тенденцію в неперіодичних часових рядах


12

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

library(forecast)
my.ts <- ts(c(10,11,11.5,10,10.1,9,11,10,8,9,9,
               6,5,5,4,3,3,2,1,2,4,4,2,1,1,0.5,1),
            start = 1, end = 27,frequency = 1)
plot(my.ts, col = "black", type = "p",
     pch = 20, cex = 1.2, ylim = c(0,13))
# line of moving averages 
lines(ma(my.ts,3),col="red", lty = 2, lwd = 2)

введіть тут опис зображення

Які мої варіанти?


4
Я вважаю, що той факт, що серія є неперіодичним ( frequency=1), тут мало доречний. Більш релевантним питанням може бути те, чи готові ви вказати функціональну форму для своєї моделі.
Річард Харді

1
Ще трохи інформації про те, що ці дані, ймовірно, будуть корисні для моделювання.
bdeonovic

Дані - це кількість особин (у тисячах) певних видів, що підраховуються щороку у водоймі.
Ladislav Naďo

1
@LadislavNado - ваш серіал такий короткий, як у наведеному прикладі? Я прошу, бо якщо так, то це зменшує кількість методів, які можна використовувати через розмір вибірки.
Тім

1
Очевидність аспекту, що спадає, залежить від масштабу, який, на мій погляд, слід враховувати
Лоран Дюваль,

Відповіді:


7

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

оцінити, чи існує монотонна тенденція до зростання чи зменшення змінної інтересу за часом. Монотонна висхідна (низхідна) тенденція означає, що змінна постійно збільшується (зменшується) з часом, але тенденція може бути, а може бути і не лінійною. ( http://vsp.pnnl.gov/help/Vsample/Design_Trend_Mann_Kendall.htm )

крім того, як зазначає Гілберт (1987), тест

особливо корисно, оскільки допущені значення дозволені, і дані не повинні відповідати якомусь конкретному розповсюдженню

Тестова статистика - це різниця між від'ємними та позитивними різницями між усіма можливими парами, тобтоxjxin(n1)/2

S=i=1n1j=i+1nsgn(xjxi)

де - знакова функція . може бути використаний для обчислення статистики яка є аналогічною кореляції, оскільки вона коливається від до , де знак підказує негативне, або позитивна тенденція і значення пропорційні нахилу тенденції.sgn()S τ1+1τ

τ=Sn(n1)/2

Нарешті, ви можете обчислити -значення. Для зразків розміром можна використовувати таблиці попередньо обчислених значень для різних значень та різних розмірів вибірки (див. Gilbert, 1987). Для більших зразків спочатку потрібно обчислити дисперсіюpn10pSS

var(S)=118[n(n1)(2n+5)p=1gtp(tp1)(2tp+5)]

а потім обчислити статистику тестуZMK

ZMK={S1var(S)if S>00if S=0S+1var(S)if S<0

значення порівнюється зі стандартними нормальними значеннями ZMK

  • ZMKZ1α для зростання тенденції,
  • ZMKZ1α для зменшення тенденції,
  • |ZMK|Z1α/2 для зростання або зменшення.

У цій темі ви можете знайти код R, що реалізує цей тест.

Оскільки статистику порівнюють з усіма можливими парами спостережень, то замість використання нормального наближення для -значення можна використовувати тест перестановки, що очевидно для цього випадку. Спочатку ви обчислюєте статистику за своїми даними, а потім випадковим чином переміщуєте свої дані кілька разів і обчислюєте їх для кожного зразків. - просто пропорція випадків, коли для висхідної тенденції або для зменшення тенденції.p S p S даніS перестановка S даніS перестановкаSpSpSdataSpermutationSdataSpermutation


Гілберт, RO (1987). Статистичні методи моніторингу забруднення навколишнього середовища. Вілі, Нью-Йорк.

Önöz, B., & Bayazit, M. (2003). Потужність статистичних тестів для виявлення трендів. Турецький журнал інженерних та екологічних наук, 27 (4), 247-251.


1

Проблема, яку ви маєте: "Я не в змозі використовувати класичну лінійну регресію через сильну часову (послідовну) автокореляцію серед значень". насправді це можливість. Я взяв ваші 27 значень і використав AUTOBOX частину програмного забезпечення (яке я допоміг розробити), яке може (за бажанням) автоматично визначити можливу модель. Ось графік фактичного / підгонки та прогнозу введіть тут опис зображення. ACF залишків знаходиться тут із залишковим сюжетом введіть тут опис зображення. Модель тут введіть тут опис зображенняі тут, введіть тут опис зображенняі тутвведіть тут опис зображення. Два коефіцієнти влучно описують дані з розрахунковою "тенденцією", яка називається "дрейфом", тобто різницею періоду до періоду -596. Зауважте, що це одна з різновидів тенденції, коли ваша модель використовувала підрахункові числа 1,2, ... 27 як змінну предиктора. Якби ваші дані підказували таку тенденцію, програмне забезпечення визнало б її більш застосовною. Я спробую знайти більш ранню посаду, яка повністю деталізувала / протиставила ці два види тенденцій. Тут Визначення стохастичної моделі тренду та Виявлення початкового тренду чи інших людей

введіть тут опис зображення


2
Прогноз Autobox пропускає всі цікаві моменти 1996, 1999, 2000, 2009 років, де останній тренд порушений. Це майже як зсув фаз на рік. У цьому плані це нічого не пояснює.
Аксакал

Ваша попередня рекомендація (язиком у щоках) щодо пристосування полінома високого ступеня до даних зробила б те, що ви тільки просили. Але ми не про пристосування, а про моделювання. Залишковий графік, здається, адекватно описує процес помилки через деякий зовнішній / невідомий фактор. Усі моделі помиляються, але деякі корисні. Я вважаю, що це корисна модель, але якщо ви думаєте, що ви можете зробити краще, будь ласка, опублікуйте свої результати, щоб ми могли все вивчити. Немає пояснень з моделі ARIMA, оскільки минуле - це лише проксі для опущених змінних.
IrishStat

2
У цьому випадку здається, що статистики не так багато. Це взагалі не цікаве питання статистики. Існує очевидна тенденція, і ОП повинен вивчати фізику явища. Я думаю, що такі моделі, як від Autobox, просто ведуть OP в неправильному напрямку. Вони не виявляють нічого цінного, крім того, що вже очевидно.
Аксакал

Питання полягає в тому, чи може аналітик замінити людське око чи ні. Аналіз показує, що підтримує око. Ось чому ми практикуємо статистику для того, щоб зробити більше, ніж може бути одразу видно. Рішення AUTOBOX приводить OP в правильному напрямку, тобто вниз. На ваш погляд, ваші коментарі зовсім не є результативними, але, як я раніше (ввічливо) запитував, будь ласка, надайте статистичні дані на основі життєздатної альтернативи. На мою думку, це дуже цікаве статистичне запитання і вимагає відповіді. Надайте, якщо зможете.
IrishStat

1

Ви можете використовувати коефіцієнт кореляції рейтингу Спірмена, щоб визначити ступінь, до якого ваші дані є монотонним. Він повертає позитивні значення для монотонних даних, що збільшуються, і негативні для монотонних даних, що зменшуються (від -1 до +1). Перейшовши за посиланням вище, є також тестування значущості розділ дилінгу, хоча я впевнений , що більшість програмних пакетів матимуть значення р зроблено для вас при обчисленні коефіцієнтів кореляції (наприклад , в Matlab: [RHO,PVAL] = corr(...); в R: cor.test(x,...))


0

Ви можете використовувати OLS, оскільки немає серійної автокореляції (принаймні, у зразку, який ви надали); відзначимо статистику тесту Дурбіна-Уотсона 1.966 (≈2).

Отже, суттєво негативна оцінка коефіцієнта для x1 - це все, що вам потрібно сказати

Кількість спостережених [певних видів] зменшується приблизно на 1000 на рік.

або

Кількість спостережуваних [певних видів] зменшується між 628 та 1,408 на рік (при 95% впевненості).

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

введіть тут опис зображення

Це було створено за допомогою цього коду Python (вибачте, не майте R під рукою):

import numpy as np
import statsmodels.api as sm

y = [10,12,10,11,8,9,6,4,2,4]
x = np.arange(len(y))
x = sm.add_constant(x)

mod = sm.OLS(y, x)
result = mod.fit()
print(result.summary())

0

Знання джерела даних було б дуже корисним, а також інформацією, якщо значення my.tsможуть отримати негативні чи ні.

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

Цю гіпотезу можна також перевірити, використовуючи розширений тест Dickey Fuller:

require(tseries)
adf.test(my.ts)

Augmented Dickey-Fuller Test
Dickey-Fuller = -2.9557, Lag order = 2, p-value = 0.7727
alternative hypothesis: stationary

З огляду на, що значення р не нижче 0,05, немає доказів того, що процес є нерухомим.

Щоб отримати дані нерухомими, ви повинні їх відрізняти:

diff.ts <- diff(my.ts)
plot(diff.ts)

введіть тут опис зображення

Зараз дані вже не показують тенденції , і єдине, що ви знайдете, - це авторегресивний термін порядку 2 (використання acf(diff.ts)).

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