(Solved) : 171 Import Numpy Np Import Matplotlibpyplot Plt X Np Array 820 775 680 655 750 802 798 68 Q37196670 . . .
![In [171: import numpy as np import matplotlib.pyplot as plt x = np . array( [820,775,680,655,750,802,798,689,775] ) def mov_a](https://media.cheggcdn.com/media%2F22e%2F22ecc5b9-2727-4797-a9ce-22c437732e0c%2FphpvQZD6Z.png)
find the best k for moving average forecasting algorithm
In [171: import numpy as np import matplotlib.pyplot as plt x = np . array( [820,775,680,655,750,802,798,689,775] ) def mov_avg(x,k): np . full(x.size , np.nan) cast for t in range(k,x.size): forecastit] np.mean (x(t-k:t]) return forecast def weightedhttp://1ocalhost:8888/notebooks/Untitled. ipynb2kernel_name-pyt hon 3 #-mov-avg ( x , w ) : rnel name kw.size forecast np.full (x.size, np.nan) for t in range(k,x.size): forecast[t] np . sum ( x [ t-k:t)”w) = return forecast def exp smoothing (x,alpha): forecastnp.full (x.size,np.nan) forecasti0x[0] for t in range(1,x.size): forecastit]-alpha xt-1 +(1-alpha) forecastIt-11 return forecast def mse(x, xpred): rn np.nanmean ( (x-xpred) *2) xpred wma weighted mov avg(x,np.array (0.2,0.3,0.5])) xpred ma mov avg(x,3) exp smoothing (x,0.4) print(“Mse for moving average is print(“Mse for weighted moving average is mse(x,xpred wma) ) print( “Mse for exponential smoothing is,mse(x,xpred es)) plt.plot (np.arange(, x.size+1),x) plt.plot (np.arange (1,x.size+1),xpred ma,”r” plt.plot (np.arange (1,x.size+1),xpred wma, “g plt.plot (np.arange(1,x.size+1) ,xpred es, “k”) pit, legend ( [ “Observed” , “MA” , “WMA” , “ES” ] ) plt.grid(True) plt.showt ,mse x,xpred ma)) Mse for moving average is Mse for weighted moving average is 5391.433333333334 Mse for exponential smoothing is 4814.2990623830465 :6205.462962962966 825 800 775 750 725 700 Observed ーMA 650 Show transcribed image text
Expert Answer
Answer to 171 Import Numpy Np Import Matplotlibpyplot Plt X Np Array 820 775 680 655 750 802 798 68 Q37196670 . . .
OR