IMPORTING LIBRARIES¶

In [1]:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
In [2]:
!pip install prophet
from prophet  import Prophet
Requirement already satisfied: prophet in /usr/local/lib/python3.10/dist-packages (1.1.4)
Requirement already satisfied: cmdstanpy>=1.0.4 in /usr/local/lib/python3.10/dist-packages (from prophet) (1.2.0)
Requirement already satisfied: numpy>=1.15.4 in /usr/local/lib/python3.10/dist-packages (from prophet) (1.23.5)
Requirement already satisfied: matplotlib>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from prophet) (3.7.1)
Requirement already satisfied: pandas>=1.0.4 in /usr/local/lib/python3.10/dist-packages (from prophet) (1.5.3)
Requirement already satisfied: LunarCalendar>=0.0.9 in /usr/local/lib/python3.10/dist-packages (from prophet) (0.0.9)
Requirement already satisfied: convertdate>=2.1.2 in /usr/local/lib/python3.10/dist-packages (from prophet) (2.4.0)
Requirement already satisfied: holidays>=0.25 in /usr/local/lib/python3.10/dist-packages (from prophet) (0.34)
Requirement already satisfied: python-dateutil>=2.8.0 in /usr/local/lib/python3.10/dist-packages (from prophet) (2.8.2)
Requirement already satisfied: tqdm>=4.36.1 in /usr/local/lib/python3.10/dist-packages (from prophet) (4.66.1)
Requirement already satisfied: importlib-resources in /usr/local/lib/python3.10/dist-packages (from prophet) (6.1.0)
Requirement already satisfied: stanio~=0.3.0 in /usr/local/lib/python3.10/dist-packages (from cmdstanpy>=1.0.4->prophet) (0.3.0)
Requirement already satisfied: pymeeus<=1,>=0.3.13 in /usr/local/lib/python3.10/dist-packages (from convertdate>=2.1.2->prophet) (0.5.12)
Requirement already satisfied: ephem>=3.7.5.3 in /usr/local/lib/python3.10/dist-packages (from LunarCalendar>=0.0.9->prophet) (4.1.5)
Requirement already satisfied: pytz in /usr/local/lib/python3.10/dist-packages (from LunarCalendar>=0.0.9->prophet) (2023.3.post1)
Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=2.0.0->prophet) (1.1.1)
Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=2.0.0->prophet) (0.12.1)
Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=2.0.0->prophet) (4.43.1)
Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=2.0.0->prophet) (1.4.5)
Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=2.0.0->prophet) (23.2)
Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=2.0.0->prophet) (9.4.0)
Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=2.0.0->prophet) (3.1.1)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.0->prophet) (1.16.0)

IMPORTING DATASETS¶

In [3]:
pc2309 = pd.read_parquet('https://storage.data.gov.my/pricecatcher/pricecatcher_2023-09.parquet')
pc2308 = pd.read_parquet('https://storage.data.gov.my/pricecatcher/pricecatcher_2023-08.parquet')
pc2307 = pd.read_parquet('https://storage.data.gov.my/pricecatcher/pricecatcher_2023-07.parquet')
pc2306 = pd.read_parquet('https://storage.data.gov.my/pricecatcher/pricecatcher_2023-06.parquet')

lookupPremise = pd.read_parquet('https://storage.data.gov.my/pricecatcher/lookup_premise.parquet')
lookupItem = pd.read_parquet('https://storage.data.gov.my/pricecatcher/lookup_item.parquet')
In [4]:
print(pc2309.shape)
print(pc2308.shape)
print(pc2307.shape)
print(pc2306.shape)
(1133814, 4)
(2485071, 4)
(2678825, 4)
(2414728, 4)

MERGING DATASETS¶

In [5]:
priceCatcher =  pd.concat([pc2306, pc2307, pc2308, pc2309])

priceCatcher.shape
Out[5]:
(8712438, 4)
In [6]:
PC = priceCatcher.merge(lookupPremise, on='premise_code')
PC = PC.merge(lookupItem, on='item_code')
PC.head()
Out[6]:
date premise_code item_code price premise address premise_type state district item unit item_group item_category
0 2023-06-01 2 1 9.4 PASAR BESAR IPOH JALAN LAKSAMANA,TAMAN JUBILEE,30300 IPOH, PERAK Pasar Basah Perak Kinta AYAM BERSIH - STANDARD 1kg BARANGAN SEGAR AYAM
1 2023-06-02 2 1 9.4 PASAR BESAR IPOH JALAN LAKSAMANA,TAMAN JUBILEE,30300 IPOH, PERAK Pasar Basah Perak Kinta AYAM BERSIH - STANDARD 1kg BARANGAN SEGAR AYAM
2 2023-06-03 2 1 9.4 PASAR BESAR IPOH JALAN LAKSAMANA,TAMAN JUBILEE,30300 IPOH, PERAK Pasar Basah Perak Kinta AYAM BERSIH - STANDARD 1kg BARANGAN SEGAR AYAM
3 2023-06-04 2 1 9.4 PASAR BESAR IPOH JALAN LAKSAMANA,TAMAN JUBILEE,30300 IPOH, PERAK Pasar Basah Perak Kinta AYAM BERSIH - STANDARD 1kg BARANGAN SEGAR AYAM
4 2023-06-06 2 1 9.4 PASAR BESAR IPOH JALAN LAKSAMANA,TAMAN JUBILEE,30300 IPOH, PERAK Pasar Basah Perak Kinta AYAM BERSIH - STANDARD 1kg BARANGAN SEGAR AYAM
In [7]:
PC['date'] = pd.to_datetime(PC['date'])
PC = PC.sort_values(by='date')
PC.reset_index(drop=True, inplace=True)
PC.head()
Out[7]:
date premise_code item_code price premise address premise_type state district item unit item_group item_category
0 2023-06-01 2 1 9.4 PASAR BESAR IPOH JALAN LAKSAMANA,TAMAN JUBILEE,30300 IPOH, PERAK Pasar Basah Perak Kinta AYAM BERSIH - STANDARD 1kg BARANGAN SEGAR AYAM
1 2023-06-01 10855 360 1.3 MYDIN ( SINAR KOTA ) BANGUNAN SINAR KOTA,NO. 58, JALAN TUN PERAK, Pasar Raya / Supermarket W.P. Kuala Lumpur Bukit Bintang SUP BUNJUT ADABI 8 g BARANGAN BERBUNGKUS REMPAH RATUS (BERBUNGKUS)
2 2023-06-01 10935 360 1.4 KWEEK CHIU THUNG AS 0111824 K15,KUALA SANGLANG,02800 KANGAR, PE... Kedai Runcit Perlis Arau SUP BUNJUT ADABI 8 g BARANGAN BERBUNGKUS REMPAH RATUS (BERBUNGKUS)
3 2023-06-01 10975 360 1.4 TF VALUE MART BATU GAJAH PLOT 1, JALAN BHARU 1,BANDAR BARU,BATU GAJAH, Pasar Raya / Supermarket Perak Kinta SUP BUNJUT ADABI 8 g BARANGAN BERBUNGKUS REMPAH RATUS (BERBUNGKUS)
4 2023-06-01 11136 360 1.4 PASARAYA GRAND UNION BUKIT BERUNTUNG NO 1 JALAN KEMUNTING,BANDAR BUKIT BERUNTUNG,48... Pasar Raya / Supermarket Selangor Hulu Selangor SUP BUNJUT ADABI 8 g BARANGAN BERBUNGKUS REMPAH RATUS (BERBUNGKUS)

HANDLING MISSING VALUES¶

In [8]:
PC.columns = PC.columns.str.strip()
PC = PC.drop(columns=['address', 'premise_code', 'item_code', 'premise', 'item', 'unit'])
PC.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 8712438 entries, 0 to 8712437
Data columns (total 7 columns):
 #   Column         Dtype         
---  ------         -----         
 0   date           datetime64[ns]
 1   price          float64       
 2   premise_type   object        
 3   state          object        
 4   district       object        
 5   item_group     object        
 6   item_category  object        
dtypes: datetime64[ns](1), float64(1), object(5)
memory usage: 465.3+ MB
In [9]:
print(PC.isnull().sum())
date             0
price            0
premise_type     5
state            5
district         5
item_group       0
item_category    0
dtype: int64
In [10]:
PC= PC.dropna()
In [11]:
print(PC.isnull().sum())
date             0
price            0
premise_type     0
state            0
district         0
item_group       0
item_category    0
dtype: int64
In [12]:
# PC.to_csv('PriceCatcher_June-Sept23', index=False)

EDA¶

In [13]:
PC['premise_type'].value_counts()
Out[13]:
Pasar Raya / Supermarket    4507392
Pasar Basah                 1998052
Hypermarket                 1432124
Pasar Mini                   463575
Kedai Runcit                 309192
Borong                         2098
Name: premise_type, dtype: int64
In [14]:
PC['item_group'].value_counts()
Out[14]:
BARANGAN SEGAR            4820470
BARANGAN BERBUNGKUS       2612496
BARANGAN KERING            980593
SUSU DAN BARANGAN BAYI     188957
MINUMAN                     60949
PRODUK KEBERSIHAN           48968
Name: item_group, dtype: int64
In [15]:
avgPrice_byState = pd.pivot_table(PC, values='price', index='item_category', columns='state', aggfunc='mean' )
avgPrice_byState['AVG'] = avgPrice_byState.mean(axis=1)
avgPrice_byState = pd.DataFrame(avgPrice_byState)
avgPrice_byState.head()
Out[15]:
state Johor Kedah Kelantan Melaka Negeri Sembilan Pahang Perak Perlis Pulau Pinang Sabah Sarawak Selangor Terengganu W.P. Kuala Lumpur W.P. Labuan W.P. Putrajaya AVG
item_category
AYAM 13.577179 12.903442 13.272509 13.089349 13.471475 13.481781 13.593067 12.420039 13.856764 15.464178 14.199018 14.095669 13.603373 14.287011 15.974913 14.259325 13.846818
BAHAN LAUT 24.496317 23.591666 23.368715 25.298830 25.179890 25.944774 24.764527 21.014229 24.698653 16.993632 22.824065 27.820819 23.155818 32.740916 14.504126 30.589502 24.186655
BAHAN-BAHAN MINUMAN 13.237343 12.707731 14.143296 13.008610 12.621881 13.237875 12.742415 13.494410 12.770362 14.074168 14.445604 12.725152 14.467247 13.051727 14.117201 13.253155 13.381136
BAWANG 6.265794 6.580701 5.789411 6.876055 6.787348 6.027885 6.795966 5.888576 7.259377 7.594795 7.077658 6.578446 5.512450 7.153185 7.791461 6.300299 6.642463
BERAS 21.096740 18.606463 16.339064 21.078862 22.636934 18.660994 19.331672 14.452741 20.990872 28.188903 29.572137 21.295220 21.356814 21.458685 28.432201 22.579985 21.629893
In [16]:
plt.figure(figsize=(12, 8))
sns.heatmap(avgPrice_byState, annot=True, cmap='coolwarm', fmt=".2f", cbar=True)

# Customize the heatmap appearance (optional)
plt.title('Item Prices by State')
plt.xlabel('State')
plt.ylabel('Item Category')
plt.show()
No description has been provided for this image
In [17]:
avgPrice_byPremise = pd.pivot_table(PC, values='price', index='item_category', columns='premise_type', aggfunc='mean' )
avgPrice_byPremise['AVG'] = avgPrice_byPremise.mean(axis=1)
avgPrice_byPremise = pd.DataFrame(avgPrice_byPremise)
avgPrice_byPremise.head()
Out[17]:
premise_type Borong Hypermarket Kedai Runcit Pasar Basah Pasar Mini Pasar Raya / Supermarket AVG
item_category
AYAM 9.002885 13.983422 12.996915 13.321324 13.425203 14.120830 12.808430
BAHAN LAUT 23.107947 27.144325 21.862335 24.482651 23.019843 26.590156 24.367876
BAHAN-BAHAN MINUMAN NaN 12.859691 14.239569 14.501149 13.368043 13.267463 13.647183
BAWANG 6.416969 5.818822 6.803070 7.812760 6.832601 6.199533 6.647293
BERAS 5.738710 24.211281 18.893472 10.042210 20.389553 22.922370 17.032933
In [18]:
plt.figure(figsize=(12, 8))
sns.heatmap(avgPrice_byPremise, annot=True, cmap='coolwarm', fmt=".2f", cbar=True)

# Customize the heatmap appearance (optional)
plt.title('Item Prices by Premise Type')
plt.xlabel('Premise Type')
plt.ylabel('Item Category')
plt.show()
No description has been provided for this image
In [19]:
avgPrice =  pd.pivot_table(PC, values='price', index='date', columns='item_category', aggfunc='mean')
avgPrice = avgPrice.fillna(method='ffill')
avgPrice = avgPrice.fillna(method='bfill')
avgPrice.head()
Out[19]:
item_category AYAM BAHAN LAUT BAHAN-BAHAN MINUMAN BAWANG BERAS BIHUN BUAH-BUAHAN CILI KERING DAGING ESEN DAN RAGI ... ROTI SANTAN (KOTAK) SAPUAN (SPREADS) SAYUR-SAYURAN SUSU BAYI TAUHU DAN TEMPE TELUR TEPUNG TERSEDIA MINUM UBI KENTANG
date
2023-06-01 14.491983 26.258987 12.07 6.309297 22.030487 3.307986 6.418258 26.314876 31.101939 2.85318 ... 3.475475 6.56961 9.294172 9.173257 41.597994 1.028246 7.594105 3.259209 3.370769 4.716957
2023-06-02 14.016786 26.530345 12.07 6.252842 5.900000 3.307986 6.305826 26.593060 31.262115 2.85318 ... 3.475475 6.56961 9.294172 9.021693 41.597994 1.026902 7.678211 3.259209 3.370769 4.973832
2023-06-03 14.012453 26.399959 12.07 6.281520 5.900000 3.307986 6.439086 26.646753 31.943195 2.85318 ... 3.475475 6.56961 9.294172 9.185592 41.597994 1.049535 7.597921 3.259209 3.370769 4.855959
2023-06-04 14.000327 26.349349 12.07 6.258423 19.700000 3.283333 6.445009 26.652986 31.908968 2.85000 ... 3.475000 6.29750 9.561739 9.182333 40.304348 1.053762 7.598975 3.636667 3.370769 4.856983
2023-06-06 14.083487 26.297032 12.07 6.333660 19.700000 3.283333 6.473730 26.840372 31.768142 2.85000 ... 3.475000 6.29750 9.561739 9.211716 40.304348 1.042628 7.385803 3.636667 3.370769 4.911215

5 rows × 38 columns

In [20]:
max_prices = avgPrice.max(axis=0)
min_prices = avgPrice.min(axis=0)

price_summary = pd.DataFrame({'Max Price': max_prices, 'Min Price': min_prices})
print(price_summary)
                                 Max Price  Min Price
item_category                                        
AYAM                             14.491983  13.531901
BAHAN LAUT                       26.674810  24.575133
BAHAN-BAHAN MINUMAN              18.200000  11.623636
BAWANG                            7.145330   6.252842
BERAS                            32.250000   5.566667
BIHUN                             4.250000   2.290000
BUAH-BUAHAN                       6.607857   6.154411
CILI KERING                      27.169925  26.189802
DAGING                           32.498956  30.966731
ESEN DAN RAGI                     4.745000   1.475000
GULA                              3.366667   2.512500
HASIL LAUT KERING                27.892373  24.776027
IKAN DALAM TIN                    7.986667   4.850000
IKAN DARAT                       13.558699  13.083583
KACANG                            9.527280   9.174390
KELAPA                            7.535247   6.840448
KICAP DAN SOS                     5.933333   4.380000
KRIMER DAN SUSU TEPUNG           30.950000   3.933333
LAMPIN PAKAI BUANG               49.950000  28.900000
MAKANAN BAYI                     15.500000   7.625000
MEE/KUETIAU                       1.736316   1.666648
MENTEGA                          14.825000  11.900000
MI SEGERA                         5.787500   4.470000
MINYAK DAN LEMAK                 22.424273  21.723884
PENJAGAAN DIRI                   13.600000   6.828000
PENJAGAAN RUMAH                  11.739048   5.623333
REMPAH RATUS (BERBUNGKUS)         6.511111   0.800000
REMPAH RATUS (TIDAK BERBUNGKUS)   5.963636   2.861111
ROTI                              4.000000   3.350000
SANTAN (KOTAK)                   11.990000   2.900000
SAPUAN (SPREADS)                 10.905556   7.250000
SAYUR-SAYURAN                     9.493243   8.883599
SUSU BAYI                        57.463333  25.367500
TAUHU DAN TEMPE                   1.104851   1.026902
TELUR                             7.678211   6.830642
TEPUNG                            4.110000   2.533333
TERSEDIA MINUM                    4.490000   2.000000
UBI KENTANG                       5.047877   4.658402
In [21]:
price_summary.plot(kind='bar', figsize=(15, 6))
plt.title('Maximum and Minimum Prices by Item Category')
plt.xlabel('Item Category')
plt.ylabel('Price')
plt.xticks(rotation=90)
plt.legend(loc='upper right')
plt.show()
No description has been provided for this image

MODELING¶

In [22]:
items = PC['item_group'].unique()
print(items)
states = PC['state'].unique()
print(states)
['BARANGAN SEGAR' 'BARANGAN BERBUNGKUS' 'BARANGAN KERING'
 'SUSU DAN BARANGAN BAYI' 'MINUMAN' 'PRODUK KEBERSIHAN']
['Perak' 'W.P. Kuala Lumpur' 'Perlis' 'Selangor' 'Melaka' 'Kelantan'
 'Negeri Sembilan' 'Terengganu' 'Kedah' 'Pahang' 'Sabah' 'Johor'
 'W.P. Putrajaya' 'Pulau Pinang' 'W.P. Labuan' 'Sarawak']
In [25]:
#method to predict item prices by state
import matplotlib.dates as mdates

def forecasting(state):
    item_groups = PC['item_group'].unique()  # Get unique item groups
    num_groups = len(item_groups)
    num_rows = 3
    num_cols = 2

    fig, axs = plt.subplots(num_rows, num_cols, figsize=(15, 15))
    fig.subplots_adjust(hspace=0.5)  # Add vertical space between subplots
    axs = axs.ravel()

    for i, item_group in enumerate(item_groups):
        item_group_data = PC[(PC['item_group'] == item_group) & (PC['state'] == state)]
        item_group_data = item_group_data.groupby(['date'])['price'].mean().reset_index()
        item_group_data = pd.DataFrame(item_group_data)
        item_group_data = item_group_data.rename(columns={'date': 'ds', 'price': 'y'})

        model = Prophet()
        model.fit(item_group_data)
        future = model.make_future_dataframe(periods=50)
        forecast = model.predict(future)

        ax = axs[i]
        model.plot(forecast, ax=ax)
        ax.set_title('Price Forecast for ' + item_group + ' in ' + state)
        ax.set_xlabel('Date')
        ax.set_ylabel('Price')

        # Rotate x-labels
        ax.xaxis.set_major_locator(mdates.MonthLocator(interval=1))  # Show every month
        ax.xaxis.set_major_formatter(mdates.DateFormatter('%b %Y'))

    for i in range(num_groups, num_rows * num_cols):
        fig.delaxes(axs[i])

    plt.tight_layout()
    plt.show()

item_groups = PC['item_group'].unique()
In [26]:
forecasting('Kedah')
INFO:prophet:Disabling yearly seasonality. Run prophet with yearly_seasonality=True to override this.
INFO:prophet:Disabling daily seasonality. Run prophet with daily_seasonality=True to override this.
DEBUG:cmdstanpy:input tempfile: /tmp/tmpsxix69_c/b2eqslfu.json
DEBUG:cmdstanpy:input tempfile: /tmp/tmpsxix69_c/1nw1nl24.json
DEBUG:cmdstanpy:idx 0
DEBUG:cmdstanpy:running CmdStan, num_threads: None
DEBUG:cmdstanpy:CmdStan args: ['/usr/local/lib/python3.10/dist-packages/prophet/stan_model/prophet_model.bin', 'random', 'seed=3754', 'data', 'file=/tmp/tmpsxix69_c/b2eqslfu.json', 'init=/tmp/tmpsxix69_c/1nw1nl24.json', 'output', 'file=/tmp/tmpsxix69_c/prophet_modelwqrlmha5/prophet_model-20231013161809.csv', 'method=optimize', 'algorithm=newton', 'iter=10000']
16:18:09 - cmdstanpy - INFO - Chain [1] start processing
INFO:cmdstanpy:Chain [1] start processing
16:18:10 - cmdstanpy - INFO - Chain [1] done processing
INFO:cmdstanpy:Chain [1] done processing
INFO:prophet:Disabling yearly seasonality. Run prophet with yearly_seasonality=True to override this.
INFO:prophet:Disabling daily seasonality. Run prophet with daily_seasonality=True to override this.
DEBUG:cmdstanpy:input tempfile: /tmp/tmpsxix69_c/c4ggpsdk.json
DEBUG:cmdstanpy:input tempfile: /tmp/tmpsxix69_c/0c5lhi90.json
DEBUG:cmdstanpy:idx 0
DEBUG:cmdstanpy:running CmdStan, num_threads: None
DEBUG:cmdstanpy:CmdStan args: ['/usr/local/lib/python3.10/dist-packages/prophet/stan_model/prophet_model.bin', 'random', 'seed=77711', 'data', 'file=/tmp/tmpsxix69_c/c4ggpsdk.json', 'init=/tmp/tmpsxix69_c/0c5lhi90.json', 'output', 'file=/tmp/tmpsxix69_c/prophet_modelo6tp_a57/prophet_model-20231013161812.csv', 'method=optimize', 'algorithm=newton', 'iter=10000']
16:18:12 - cmdstanpy - INFO - Chain [1] start processing
INFO:cmdstanpy:Chain [1] start processing
16:18:12 - cmdstanpy - INFO - Chain [1] done processing
INFO:cmdstanpy:Chain [1] done processing
INFO:prophet:Disabling yearly seasonality. Run prophet with yearly_seasonality=True to override this.
INFO:prophet:Disabling daily seasonality. Run prophet with daily_seasonality=True to override this.
DEBUG:cmdstanpy:input tempfile: /tmp/tmpsxix69_c/hcjoydvh.json
DEBUG:cmdstanpy:input tempfile: /tmp/tmpsxix69_c/wg9o8o3l.json
DEBUG:cmdstanpy:idx 0
DEBUG:cmdstanpy:running CmdStan, num_threads: None
DEBUG:cmdstanpy:CmdStan args: ['/usr/local/lib/python3.10/dist-packages/prophet/stan_model/prophet_model.bin', 'random', 'seed=42012', 'data', 'file=/tmp/tmpsxix69_c/hcjoydvh.json', 'init=/tmp/tmpsxix69_c/wg9o8o3l.json', 'output', 'file=/tmp/tmpsxix69_c/prophet_modeln52kbsgr/prophet_model-20231013161814.csv', 'method=optimize', 'algorithm=newton', 'iter=10000']
16:18:14 - cmdstanpy - INFO - Chain [1] start processing
INFO:cmdstanpy:Chain [1] start processing
16:18:14 - cmdstanpy - INFO - Chain [1] done processing
INFO:cmdstanpy:Chain [1] done processing
INFO:prophet:Disabling yearly seasonality. Run prophet with yearly_seasonality=True to override this.
INFO:prophet:Disabling daily seasonality. Run prophet with daily_seasonality=True to override this.
INFO:prophet:n_changepoints greater than number of observations. Using 11.
DEBUG:cmdstanpy:input tempfile: /tmp/tmpsxix69_c/sy456t7i.json
DEBUG:cmdstanpy:input tempfile: /tmp/tmpsxix69_c/vg8_27b8.json
DEBUG:cmdstanpy:idx 0
DEBUG:cmdstanpy:running CmdStan, num_threads: None
DEBUG:cmdstanpy:CmdStan args: ['/usr/local/lib/python3.10/dist-packages/prophet/stan_model/prophet_model.bin', 'random', 'seed=14761', 'data', 'file=/tmp/tmpsxix69_c/sy456t7i.json', 'init=/tmp/tmpsxix69_c/vg8_27b8.json', 'output', 'file=/tmp/tmpsxix69_c/prophet_modelujlkt0ol/prophet_model-20231013161816.csv', 'method=optimize', 'algorithm=newton', 'iter=10000']
16:18:16 - cmdstanpy - INFO - Chain [1] start processing
INFO:cmdstanpy:Chain [1] start processing
16:18:16 - cmdstanpy - INFO - Chain [1] done processing
INFO:cmdstanpy:Chain [1] done processing
INFO:prophet:Disabling yearly seasonality. Run prophet with yearly_seasonality=True to override this.
INFO:prophet:Disabling weekly seasonality. Run prophet with weekly_seasonality=True to override this.
INFO:prophet:Disabling daily seasonality. Run prophet with daily_seasonality=True to override this.
INFO:prophet:n_changepoints greater than number of observations. Using 1.
DEBUG:cmdstanpy:input tempfile: /tmp/tmpsxix69_c/w7ezd_0_.json
DEBUG:cmdstanpy:input tempfile: /tmp/tmpsxix69_c/gfz2_s0j.json
DEBUG:cmdstanpy:idx 0
DEBUG:cmdstanpy:running CmdStan, num_threads: None
DEBUG:cmdstanpy:CmdStan args: ['/usr/local/lib/python3.10/dist-packages/prophet/stan_model/prophet_model.bin', 'random', 'seed=7210', 'data', 'file=/tmp/tmpsxix69_c/w7ezd_0_.json', 'init=/tmp/tmpsxix69_c/gfz2_s0j.json', 'output', 'file=/tmp/tmpsxix69_c/prophet_modelp7d__4tq/prophet_model-20231013161817.csv', 'method=optimize', 'algorithm=newton', 'iter=10000']
16:18:17 - cmdstanpy - INFO - Chain [1] start processing
INFO:cmdstanpy:Chain [1] start processing
16:18:20 - cmdstanpy - INFO - Chain [1] done processing
INFO:cmdstanpy:Chain [1] done processing
INFO:prophet:Disabling yearly seasonality. Run prophet with yearly_seasonality=True to override this.
INFO:prophet:Disabling weekly seasonality. Run prophet with weekly_seasonality=True to override this.
INFO:prophet:Disabling daily seasonality. Run prophet with daily_seasonality=True to override this.
INFO:prophet:n_changepoints greater than number of observations. Using 1.
DEBUG:cmdstanpy:input tempfile: /tmp/tmpsxix69_c/zwnlu0kx.json
DEBUG:cmdstanpy:input tempfile: /tmp/tmpsxix69_c/h3tjkx0f.json
DEBUG:cmdstanpy:idx 0
DEBUG:cmdstanpy:running CmdStan, num_threads: None
DEBUG:cmdstanpy:CmdStan args: ['/usr/local/lib/python3.10/dist-packages/prophet/stan_model/prophet_model.bin', 'random', 'seed=88904', 'data', 'file=/tmp/tmpsxix69_c/zwnlu0kx.json', 'init=/tmp/tmpsxix69_c/h3tjkx0f.json', 'output', 'file=/tmp/tmpsxix69_c/prophet_model5a1kef7l/prophet_model-20231013161822.csv', 'method=optimize', 'algorithm=newton', 'iter=10000']
16:18:22 - cmdstanpy - INFO - Chain [1] start processing
INFO:cmdstanpy:Chain [1] start processing
16:18:25 - cmdstanpy - INFO - Chain [1] done processing
INFO:cmdstanpy:Chain [1] done processing
No description has been provided for this image