0
点赞
收藏
分享

微信扫一扫

Power BI 实现未来几年天猫双十一销售额预测

我们用 Power BI 实现未来几年天猫双十一销售额预测,基于三次方程进行训练和预测。三次方程的公式如下:


Power BI 实现未来几年天猫双十一销售额预测_Power bi




1. 2022年双十一预测值分布图



基于三次方程预测2022年双十一销售额为7345亿。


Power BI 实现未来几年天猫双十一销售额预测_数据_02




2. 2022年双十一预测值代码




# 使用import导入numpy和matplotlib.pyplot库

import numpy as np

import matplotlib.pyplot as plt

# 定义一个一维数组data导入年份 销售额

data = np.array([[9,0.5],[10,9.36],[11,52],[12,191],[13,350],[14,571],[15,912],

[16,1207],[17,1682],[18,2135],[19,2684],[20,4982],[21,5403],])

# 将所有数据绘制出来

plt.scatter(data[:, 0], data[:, 1], c="r")

#plt.show()

#引入库sympy的变量与函数

from sympy import *

#通过库中的symbols()函数创建参数变量

m1,m2m3 ,b = symbols ( 'm1,m2,m3,b' )

init_printing(pretty_print=True)

x_i,real_i,i = symbols("x_i,real_i,i")

#定义上面公式   

MSE = Sum((m1*x_i**3 + m2*x_i**2 + m3*x_i + b - real_i)**2,(i,2009,2021))

MSE

#初始化参数

m1,m2,m3,b = 1,1,1,1

learning_rate = 0.000000001

def gradientdecent():

global m1m2m3b

m1slop , m2slopm3slop , bslop = 0000

mse = 0

#计算导数

for x,real in data:

# b+m1x3i+m2x2i+m3xi-reali

mse += (b+m1*x**3 + m2*x**2 + m3*x - real)**2

# 2x3i(b+m1x3i+m2x2i+m3xi-reali)

m1slop += 2*x**3*(b + m1*x**3 + m2*x**2 + m3**x -real)

m2slop += 2*x**2*(b + m1*x**3 + m2*x**2 + m3**x - real)

m3slop += 2*x**1*(b + m1*x**3 + m2*x**2 + m3**x - real)

bslop += 2*(b + m1*x**3 + m2*x**2 + m3**x - real)

#更新参数

m1 = m1 - m1slop*learning_rate

m2 = m2 - m2slop*learning_rate

m3 = m3 - m3slop*learning_rate

b = b - bslop*learning_rate

#使用循环,进行梯度下降,找到最优的4个参数

np.set_printoptions(suppress=True)

for i in range(100000):

mse = gradientdecent()

if i%100000 == 0:

print("m1={},m2={},m3={} ,b={} , mse={}".format(m1,m2,m3,b,mse))

#预测y = m1*x 3 + m2*x~2 + m3*x + b

year = 22

result = m1*year**3 + m2 * year**2 + m3*year + b

print("预测2022年天猫双十一的销售额:",result)

#历史数据

plt.scatter(data[:,0],data[:,1])

# 预测数据

plt.scatter(yearresult ,c="red")

#绘制曲线

x = np.linspace(9,25,25-9+1)

y = m1*x**3 + m2 * x**2 + m3*x + b

plt.plot(x,y,c="g")

#把曲线上的点显示出数字

for a,b in zip(x,y):

plt.text(ab+0.05'%.0f' % bha='center'va'bottom',fontsize=11)

for a,b in zip(x,y):

plt.text(ab+0.05'%.0f' % bha='center'va'bottom',fontsize=11)

#将以上处理后的数据在PowerBI上展示出来

plt.show()

预测2022年双十一销售额为7345亿。




3. 设计界面展示



Power BI 实现未来几年天猫双十一销售额预测_数据_03


举报

相关推荐

0 条评论