• 2. Statsionarlikka erishish uchun qatorni ozgartirish
  • Ajralmas qismiga




    Download 493,8 Kb.
    bet5/7
    Sana17.02.2024
    Hajmi493,8 Kb.
    #158250
    1   2   3   4   5   6   7
    Bog'liq
    Документ Microsoft Word (3)

    import pandas as pd
    import matplotlib.pyplot as plt
    from statsmodels.tsa.stattools import adfuller

    # Создаем dataset с данными о продажах


    data = {'Дата': ['2023-01-01', '2023-02-01', '2023-03-01', '2023-04-01', '2023-05-01'],
    'Продажи': [1000, 1200, 1300, 1100, 1400]}

    df = pd.DataFrame(data)

    # Преобразуем столбец 'Дата' в формат даты
    df['Дата'] = pd.to_datetime(df['Дата'])

    # Построим график продаж


    plt.plot(df['Дата'], df['Продажи'])
    plt.title('Продажи в магазине МВидео')
    plt.xlabel('Дата')
    plt.ylabel('Продажи')
    plt.show()

    # Проведем тест Дики-Фуллера на стационарность


    result = adfuller(df['Продажи'])

    print('ADF Statistic: %f' % result[0])


    print('p-value: %f' % result[1])
    print('Critical Values:')
    for key, value in result[4].items():
    print('\t%s: %.3f' % (key, value))



    Chiqish Dikki-Fuller testi statistikasi va p-qiymati bo'ladi. Agar p-qiymati ahamiyatlilik darajasidan past bo'lsa (odatda 0,05 ), unda biz ketma-ketlik statsionar emasligi haqidagi nol gipotezani rad etishimiz va uni statsionar deb hisoblashimiz mumkin.

    2. Statsionarlikka erishish uchun qatorni o'zgartirish:

    Agar boshlang'ich qator statsionar bo'lmasa, uni o'zgartirish mumkin. Masalan, statsionar qoldiqni olish uchun trend va mavsumiy komponentlarni ayirish mumkin.

    # Преобразование для удаления тренда


    df['Продажи_без_тренда'] = df['Продажи'] - df['Продажи'].rolling(window=2).mean()

    # Преобразование для удаления сезонности (в данном случае просто разница между текущим и предыдущим значением)


    df['Продажи_стационарные'] = df['Продажи_без_тренда'].diff()

    # Удалим первые строки с пропущенными значениями


    df.dropna(inplace=True)

    # Построим графики


    plt.plot(df['Дата'], df['Продажи_без_тренда'], label='Без тренда')
    plt.plot(df['Дата'], df['Продажи_стационарные'], label='Стационарные')
    plt.legend()
    plt.title('Преобразованные продажи')
    plt.xlabel('Дата')
    plt.ylabel('Продажи')
    plt.show()


    Endi bizda tahlil qilish va modellashtirish mumkin bo'lgan statsionar seriya mavjud Продажи_стационарные.

    Vaqt seriyasining komponentlari



    Vaqt seriyalari odatda uchta asosiy komponentdan iborat: trend, mavsumiylik va shovqin (qoldiq). Ushbu komponentlarni tushunish bizga seriyaning tuzilishini yaxshiroq tushunishga va tegishli tahlil usullarini tanlashga yordam beradi.


    Download 493,8 Kb.
    1   2   3   4   5   6   7




    Download 493,8 Kb.