Rumah > Peranti teknologi > AI > Penggunaan kaedah Croston dalam meramalkan permintaan terputus-putus

Penggunaan kaedah Croston dalam meramalkan permintaan terputus-putus

王林
Lepaskan: 2024-01-23 14:21:12
ke hadapan
844 orang telah melayarinya

Penggunaan kaedah Croston dalam meramalkan permintaan terputus-putus

Kaedah Croston ialah kaedah statistik yang digunakan untuk meramal permintaan terputus-putus. Ia sesuai untuk produk atau perkhidmatan yang mempunyai permintaan yang tidak stabil dan tidak tetap, seperti alat ganti, perkhidmatan perundingan, bekalan perubatan, dsb., yang permintaannya sangat tidak menentu. Kelebihan kaedah ini ialah ia mudah dan mudah digunakan, cepat dalam pengiraan, dan mempunyai pelbagai aplikasi Pada masa yang sama, ia boleh mengelakkan beberapa kecacatan dalam kaedah ramalan tradisional. Dengan menganalisis data sejarah permintaan terputus-putus, kaedah Croston boleh menangkap secara berkesan arah aliran dan selang permintaan yang berubah-ubah dan membuat ramalan permintaan yang tepat berdasarkan maklumat ini. Oleh itu, kaedah Croston mempunyai nilai aplikasi yang penting dalam mengurus dan merancang permintaan terputus-putus.

Prinsip asas kaedah Croston ialah menguraikan urutan permintaan terputus-putus kepada dua bahagian: selang masa antara kejadian permintaan dan kuantiti permintaan. Proses penguraian ini adalah berdasarkan dua andaian asas: pertama, selang masa antara kejadian permintaan dan permintaan adalah bebas antara satu sama lain, kedua, taburan permintaan boleh dianggarkan sebagai taburan binomial. Dengan menganalisis dan meramalkan kedua-dua bahagian ini, ciri dan perubahan permintaan terputus-putus boleh difahami dan diramalkan dengan lebih baik.

Kaedah Croston menggunakan dua model pelicinan eksponen untuk meramalkan selang masa dan permintaan. Nilai ramalan selang masa dipanggil nilai ramalan selang, dan nilai ramalan permintaan dipanggil nilai ramalan permintaan. Kemudian, dengan mendarab dua nilai ramalan, nilai ramalan keseluruhan diperolehi. Menentukan parameter dua model pelicinan eksponen adalah kunci kepada kaedah Croston.

Dalam aplikasi praktikal, kaedah Croston boleh dijalankan melalui langkah-langkah berikut:

Pertama, kita perlu mengira nilai ramalan selang dan nilai ramalan permintaan. Ramalan selang boleh dikira menggunakan pelicinan eksponen mudah, manakala ramalan permintaan boleh dikira menggunakan formula dalam kaedah Croston.

Langkah kedua ialah mengira nilai ramalan keseluruhan. Darabkan ramalan selang dan ramalan permintaan untuk mendapatkan ramalan keseluruhan.

Langkah ketiga ialah menilai ketepatan keputusan ramalan. Ketepatan keputusan ramalan boleh dinilai menggunakan ralat min mutlak (MAE) atau ralat min kuasa dua akar (RMSE). Pada masa yang sama, analisis ralat juga boleh dilakukan untuk mencari penyelewengan dan anomali dalam keputusan ramalan.

Perlu diingat bahawa kaedah Croston mungkin tidak boleh digunakan untuk produk atau perkhidmatan dengan permintaan yang kecil atau selang permintaan yang panjang, kerana dalam kes ini, perubahan dalam permintaan dan selang masa mungkin dipengaruhi oleh rawak yang lebih besar. Selain itu, kaedah Croston juga memerlukan pelarasan parameter berdasarkan keadaan sebenar untuk meningkatkan ketepatan ramalan.

Idea teras kaedah Croston adalah untuk meramalkan permintaan masa hadapan dan masa kejadian permintaan dengan melicinkan purata dua jujukan. Secara khusus, kaedah ini menyatakan siri masa permintaan dan turutan kuantiti permintaan masing-masing sebagai bentuk berikut:

y_t=\begin{cases}
1&\text{if demand occurs at time}t\
0&\text{otherwise}
\end{cases}
p_t=\begin{cases}
d_t&\text{if demand occurs at time}t\
0&\text{otherwise}
\end{cases}
Salin selepas log masuk

di mana y_t mewakili sama ada terdapat permintaan pada masa t, dan p_t mewakili permintaan pada masa t (jika terdapat permintaan). Seterusnya, kaedah melakukan pelicinan dengan mengira purata y_t dan p_t. Secara khusus, formula pengiraan purata adalah seperti berikut:

\begin{aligned}
\bar{y}_t&=\alpha y_t+(1-\alpha)\bar{y}_{t-1}\
\bar{p}_t&=\alpha p_t+(1-\alpha)\bar{p}_{t-1}
\end{aligned}
Salin selepas log masuk

di mana alpha ialah pekali pelicinan, biasanya antara 0.1 dan 0.3. Kaedah itu kemudian menggunakan purata terlicin untuk membuat ramalan permintaan. Secara khusus, formula untuk meramalkan masa kejadian permintaan seterusnya dan kuantiti permintaan melalui kaedah ini adalah seperti berikut:

\begin{aligned}
\hat{y}_{t+1}&=\frac{1}{\bar{y}_t+\frac{1}{1-\alpha}}\
\hat{p}_{t+1}&=\frac{\bar{p}_t}{\bar{y}_t+\frac{1}{1-\alpha}}
\end{aligned}
Salin selepas log masuk

Kaedah Croston juga termasuk beberapa istilah pembetulan untuk mengurangkan bias dalam ramalan permintaan. Secara khusus, kaedah ini termasuk pembetulan kepada siri masa permintaan dan siri kuantiti permintaan, serta pembetulan kepada pekali pelicinan.

Berikut ialah contoh kod Python menggunakan kaedah Croston untuk ramalan permintaan terputus-putus:

import pandas as pd
import numpy as np

def croston(y, forecast_len, alpha=0.2, init=None):
    """
    Croston方法预测间歇性需求

    参数:
    y:需求数据
    forecast_len:预测长度
    alpha:平滑系数,默认为0.2
    init:初始值,默认为None

    返回:
    预测结果
    """
    # 初始化
    y = np.asarray(y)
    n = len(y)
    if init is None:
        # 如果没有指定初始值,则使用第一个非零值作为初始值
        init = np.nonzero(y)[0][0]
    p = np.zeros(n)
    y_hat = np.zeros(n+forecast_len)
    p_hat = np.zeros(n+forecast_len)
    y_hat[init] = y[init]
    p_hat[init] = y[init]
    # 平滑
    for i in range(init+1, n):
        if y[i] > 0:
            # 如果有需求发生
            y_hat[i] = alpha + (1 - alpha)*y[i-1]
            p_hat[i] = alpha*y[i] + (1 -alpha)*p[i-1]
        else:
            # 如果没有需求发生
            y_hat[i] = (1 - alpha)*y_hat[i-1]
            p_hat[i] = (1 - alpha)*p_hat[i-1]
    # 预测
    for i in range(n, n+forecast_len):
        y_hat[i] = (1 - alpha)*y_hat[i-1]
        p_hat[i] = (1 - alpha)*p_hat[i-1]
    return p_hat[-forecast_len:]

# 示例
demand = [0, 0, 5, 0, 0, 7, 0, 0, 9, 0, 0, 6, 0]
forecast_len = 5
result = croston(demand, forecast_len)
print(result)
Salin selepas log masuk

Dalam kod di atas, kami menggunakan kaedah Croston untuk meramal data permintaan terputus-putus. Data ini mengandungi situasi permintaan pada 13 titik masa, yang mana permintaan berlaku pada 5 titik masa, dan permintaan pada titik masa yang tinggal ialah 0. Keputusan ramalan termasuk permintaan untuk lima mata masa seterusnya. Dalam kod, kami menetapkan pekali pelicinan kepada 0.2, menggunakan nilai bukan sifar pertama sebagai nilai awal. Keputusan ramalan ialah [1.677, 1.342, 1.074, 0.859, 0.684], menunjukkan bahawa permintaan pada lima mata masa berikutnya ialah 1.677, 1.342, 1.074, 0.859 dan 0.684 masing-masing.

Atas ialah kandungan terperinci Penggunaan kaedah Croston dalam meramalkan permintaan terputus-putus. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:163.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan