全部产品
Search
文档中心

Platform For AI:Prophet

更新时间:Jul 02, 2025

Prophet adalah algoritma peramalan deret waktu yang dikembangkan oleh Facebook, dirancang khusus untuk menangani data nonlinear dengan tren musiman. Algoritma ini secara otomatis mengidentifikasi perubahan tren, pola musiman, dan efek hari libur dalam data, memberikan hasil peramalan yang efisien dan akurat. Kemudahan penggunaan serta keandalannya membuat Prophet cocok untuk berbagai skenario bisnis dunia nyata, terutama dalam aplikasi yang memerlukan iterasi cepat dan penyesuaian model peramalan.

Batasan

Prophet hanya dapat digunakan berdasarkan sumber daya komputasi MaxCompute.

Konfigurasikan komponen di konsol PAI

  • Port input

    Port input (kiri ke kanan)

    Tipe data

    Komponen hulu yang direkomendasikan

    Diperlukan

    Data Input

    N/A

    Ya

  • Parameter komponen

    Tab

    Parameter

    Deskripsi

    Field Setting

    valueCol

    Tipe data adalah STRING, dan format datanya adalah MTable. Anda dapat menggunakan komponen MTable Assembler untuk membangun data. Anda dapat menggunakan kolom data bertipe Datetime sebagai deret waktu. Contoh MTable: {"data":{"ds":["2019-05-07 00:00:00.0","2019-05-08 00:00:00.0"],"val":[8588.0,8521.0]},"schema":"ds TIMESTAMP,val DOUBLE"}.

    reservedCols

    Kolom yang disimpan untuk algoritma.

    Parameter Setting

    predictionCol

    Nama kolom hasil prediksi.

    cap

    Batas atas nilai prediksi.

    changepoint_prior_scale

    Nilai default: 0.05.

    change_point_range

    Proporsi titik perubahan tren. Nilai default: 0.8.

    changepoints

    Daftar titik perubahan. Pisahkan beberapa titik perubahan dengan koma (,). Contoh: 2021-05-02,2021-05-07.

    daily_seasonality

    Menentukan apakah akan menyesuaikan musiman per hari. Nilai default: auto.

    floor

    Batas bawah nilai prediksi.

    growth

    Jenis tren. Nilai valid:

    • LINEAR (nilai default)

    • Logistic

    • Flat

    holidays

    Pisahkan beberapa hari libur dengan spasi. Contoh: playoff:2021-05-03,2021-01-03 superbowl:2021-02-07,2021-11-02.

    holidays_prior_scale

    Parameter model hari libur. Nilai default: 10.0.

    include_history

    Menentukan apakah akan memprediksi nilai yang sesuai dengan tanggal dalam data asli.

    interval_width

    Interval ketidakpastian. Nilai default: 0.8.

    mcmc_samples

    Jumlah sampel yang digunakan untuk inferensi Bayesian. Nilai parameter ini adalah bilangan bulat. Jika parameter ini diatur ke 0, estimasi probabilitas posterior maksimum (MAP) dilakukan. Nilai estimasi default adalah 100.

    n_change_point

    Jumlah maksimum titik perubahan. Nilai default: 25.

    predictNum

    Nilai valid: (0, inf). Nilai default: 12.

    predictionDetailCol

    Nama kolom detail prediksi.

    seasonality_mode

    Mode musiman. Nilai valid:

    • ADDITIVE (nilai default)

    • MULTIPLICATIVE

    seasonality_prior_scale

    Parameter model musiman. Nilai default: 10.0.

    stanInit

    Nilai awal. Parameter ini kosong secara default.

    uncertaintySamples

    Nilai default: 1000. Sampel digunakan untuk menghitung metrik statistik. Jika Anda tidak perlu menghitung metrik statistik dan ingin mempercepat prediksi, atur parameter ini ke 0.

    weekly_seasonality

    Menentukan apakah akan menyesuaikan musiman per minggu. Nilai default: auto.

    yearly_seasonality

    Menentukan apakah akan menyesuaikan musiman per tahun. Nilai default: auto.

    numThreads

    Jumlah thread komponen.

    Pengaturan Eksekusi

    Number of Workers

    Jumlah core. Parameter ini harus digunakan bersama dengan parameter Memori per pekerja, unit MB. Nilai parameter ini harus berupa bilangan bulat positif. Nilai valid: [1,9999].

    Memory per worker, unit MB

    Ukuran memori setiap node pekerja. Nilai valid: 1024 hingga 64 × 1024. Unit: MB.

Konfigurasikan komponen dengan menggunakan kode

Anda dapat menyalin kode berikut ke komponen Skrip PyAlink agar komponen Skrip PyAlink berfungsi seperti komponen Prophet.

import time, datetime
import numpy as np
import pandas as pd

downloader = AlinkGlobalConfiguration.getPluginDownloader()
downloader.downloadPlugin('tf115_python_env_linux')

data = pd.DataFrame([
			[1,  datetime.datetime.fromtimestamp(1), 10.0],
			[1,  datetime.datetime.fromtimestamp(2), 11.0],
			[1,  datetime.datetime.fromtimestamp(3), 12.0],
			[1,  datetime.datetime.fromtimestamp(4), 13.0],
			[1,  datetime.datetime.fromtimestamp(5), 14.0],
			[1,  datetime.datetime.fromtimestamp(6), 15.0],
			[1,  datetime.datetime.fromtimestamp(7), 16.0],
			[1,  datetime.datetime.fromtimestamp(8), 17.0],
			[1,  datetime.datetime.fromtimestamp(9), 18.0],
			[1,  datetime.datetime.fromtimestamp(10), 19.0]
])

source = dataframeToOperator(data, schemaStr='id int, ts timestamp, val double', op_type='batch')

source.link(GroupByBatchOp()
			.setGroupByPredicate("id")
			.setSelectClause("id, mtable_agg(ts, val) as data")
		).link(ProphetBatchOp()
			.setValueCol("data")
			.setPredictNum(4)
			.setPredictionCol("pred")
		).link(FlattenMTableBatchOp()
					.setSelectedCol("pred_detail")
          .setSchemaStr("ds timestamp, yhat double")
    ).print()

Referensi

  • Gunakan komponen MTable Expander untuk memperluas MTable menjadi tabel. Untuk informasi lebih lanjut, lihat MTable Expander.

  • Untuk informasi tentang komponen Machine Learning Designer, lihat Ikhtisar Machine Learning Designer.

  • Machine Learning Designer menyediakan berbagai komponen algoritma preset. Anda dapat memilih komponen untuk pemrosesan data sesuai dengan skenario bisnis Anda. Untuk informasi lebih lanjut, lihat Referensi komponen: ikhtisar semua komponen.