zoukankan      html  css  js  c++  java
  • 代码:利用多项式拟合淘宝双11 数据。

    天猫官方公布了今年的双11成交额为2684亿元,成功刷新了自己创下的商业纪录。

    代码:利用多项式拟合淘宝双11 数据。

    环境:python 3.6 ,  jupyter Notebook

    %matplotlib
    import matplotlib.pyplot as plt
    import numpy as np
    from matplotlib import font_manager as fm
    zhongwen_font = fm.FontProperties(fname='C:WindowsFontssimsun.ttc') 
    
    x = np.array([year for year in range(2009,2019)])
    y = np.array([0.5,9.36,52,191,352,571,912,1207,1682.69,2135])
    z1 = np.polyfit(x, y, 3) # 用多项式拟合
    p1 = np.poly1d(z1)
    
    yvals=p1(x)
    plot1=plt.plot(x, y, '*',label='实际销售额')
    plot2=plt.plot(x, yvals, 'r',label='拟合销售额')
    
    # 设置坐标轴刻度
    _xticks_labels = ["{}年".format(i) for i in x]
    plt.xticks(x,_xticks_labels,rotation=45,fontproperties = zhongwen_font)
    
    plt.xlabel('年份', fontproperties = zhongwen_font)
    plt.ylabel('销售额(亿)', fontproperties = zhongwen_font)
    
    # 绘制网格
    plt.grid(alpha=0.4)
    
    # 添加图例,指定legend的位置
    plt.legend(loc="best", prop = zhongwen_font)
    plt.title('2009-2018淘宝双11 销售额拟合曲线', fontproperties = zhongwen_font)
    # 图片大小和分辨率
    plt.figure(figsize=(18, 18),dpi=80)
    plt.savefig("./taobao201911.png")
    plt.show()
    
    # 打印拟合多项式
    print('拟合多项式:',p1) 
    p1 = np.poly1d(z1)
    print("-"*40)
    print('2019年预测值:',p1(2019))  
    print('2020年预测值:',p1(2020)) 
    print('2021年预测值:',p1(2021))  
    print('2022年预测值:',p1(2022)) 

     

    
    
    

    打印结果如下:
    
    
    Using matplotlib backend: Qt5Agg
    拟合多项式:        3         2
    0.159 x - 930.2 x + 1.813e+06 x - 1.176e+09
    ----------------------------------------
    2019年预测值: 2689.0133340358734
    2020年预测值: 3301.523639678955
    2021年预测值: 3980.3633403778076
    2022年预测值: 4726.486259460449

    利用三次多项式预测的数据与公布的结果确实很相近。

    我们继续搞事情。

    将今年2019年的2684亿导入,预测一下后面三年:

    2019年预测值: 2689.0133340358734
    2020年预测值: 3301.523639678955
    2021年预测值: 3980.3633403778076
    2022年预测值: 4726.486259460449

     你对此事的看法到底如何?

     绘图如下:



    欢迎关注: 一只阿木木

  • 相关阅读:
    gettid 和pthread_self的区别
    UDP socket也可以使用connect系统调用
    TCP协议中的SO_LINGER选项
    pthread_key_t和pthread_key_create()详解
    1、Window10 Electron 开发环境搭建
    如何查看Windows下端口占用
    Servlet 中使用POI生成Excel
    JdbcTemplate 操作Oracle Blob
    RedHat 6.5 离线安装 apache2.4.23
    windows下端口被占用的解决方法
  • 原文地址:https://www.cnblogs.com/yizhiamumu/p/11855641.html
Copyright © 2011-2022 走看看