Một quả bơ giá bao nhiêu?

Phân tích dữ liệu Bayesian với Python

Michal Oleszak

Machine Learning Engineer

The Avocado, Inc.

Quả bơ.

Phân tích dữ liệu Bayesian với Python

Nghiên cứu tình huống: ước tính độ co giãn giá

Mục tiêu: ước tính độ co giãn giá của bơ và tối ưu giá

(độ co giãn giá = tác động của thay đổi giá lên sản lượng bán)

  1. Khớp mô hình hồi quy Bayes.
  2. Kiểm tra mô hình để xác minh tính đúng đắn.
  3. Dự đoán sản lượng cho các mức giá khác nhau.
  4. Đề xuất giá tối đa hóa lợi nhuận và độ bất định kèm theo.
Phân tích dữ liệu Bayesian với Python

Dữ liệu bơ

print(avocado)
           date  price      volume  type_organic
0    2015-01-04   0.95  313.242777             0
1    2015-01-11   1.01  290.635427             0
2    2015-01-18   1.03  290.434588             0
3    2015-01-25   1.04  284.703108             0
..          ...    ...         ...           ...
334  2018-03-04   1.52   16.344308             1
335  2018-03-11   1.52   16.642349             1
336  2018-03-18   1.54   16.758042             1
337  2018-03-25   1.55   15.599672             1
1 Nguồn dữ liệu: https://www.kaggle.com/neuromusic/avocado-prices
Phân tích dữ liệu Bayesian với Python

Prior trong pymc3

formula = "num_bikes ~ temp + work_day + wind_speed"

with pm.Model() as model:

    pm.GLM.from_formula(formula, data=bikes)
    trace = pm.sample(draws=1000, tune=500)
Phân tích dữ liệu Bayesian với Python

Prior trong pymc3

formula = "num_bikes ~ temp + work_day + wind_speed"

with pm.Model() as model:
    priors = {"wind_speed": pm.Normal.dist(mu=-5)}
    pm.GLM.from_formula(formula, data=bikes, priors=priors)
    trace = pm.sample(draws=1000, tune=500)
Phân tích dữ liệu Bayesian với Python

Trích xuất mẫu từ trace

temp_draws = trace.get_values("temp")

print(temp_draws)
array([6.8705346, 6.7421152, 6.7393061, ..., 5.966574 , 6.1274128, 6.7149277])
Phân tích dữ liệu Bayesian với Python

Những gì bạn cần

Huấn luyện mô hình:

  • pm.Model()
  • pm.GLM.from_formula()
  • pm.sample()
  • pm.Normal()

Trực quan hóa:

  • pm.forestplot()
  • pm.traceplot()

 

Dự đoán:

  • pm.fast_sample_posterior_predictive()

 

Suy luận:

  • az.hdi()
Phân tích dữ liệu Bayesian với Python

Hãy áp dụng những gì bạn đã học!

Phân tích dữ liệu Bayesian với Python

Preparing Video For Download...