Python数据可视化:幂律分布实例详解


Posted in Python onDecember 07, 2019

1、公式推导

对幂律分布公式:

Python数据可视化:幂律分布实例详解

对公式两边同时取以10为底的对数:

Python数据可视化:幂律分布实例详解

Python数据可视化:幂律分布实例详解

所以对于幂律公式,对X,Y取对数后,在坐标轴上为线性方程。

2、可视化

从图形上来说,幂律分布及其拟合效果:

Python数据可视化:幂律分布实例详解

对X轴与Y轴取以10为底的对数。效果上就是X轴上1与10,与10与100的距离是一样的。

Python数据可视化:幂律分布实例详解

对XY取双对数后,坐标轴上点可以很好用直线拟合。所以,判定数据是否符合幂律分布,只需要对XY取双对数,判断能否用一个直线很好拟合就行。常见的直线拟合效果评估标准有拟合误差平方和、R平方。

3、代码实现

#!/usr/bin/env python
# -*-coding:utf-8 -*-

import matplotlib.pyplot as plt
import numpy as np
from sklearn import linear_model
from scipy.stats import norm

def DataGenerate():
 X = np.arange(10, 1010, 10) # 0-1,每隔着0.02一个数据 0处取对数,会时负无穷 生成100个数据点
 noise=norm.rvs(0, size=100, scale=0.2) # 生成50个正态分布 scale=0.1控制噪声强度
 Y=[]
 for i in range(len(X)):
  Y.append(10.8*pow(X[i],-0.3)+noise[i]) # 得到Y=10.8*x^-0.3+noise

 # plot raw data
 Y=np.array(Y)
 plt.title("Raw data")
 plt.scatter(X, Y, color='black')
 plt.show()

 X=np.log10(X) # 对X,Y取双对数
 Y=np.log10(Y)
 return X,Y

def DataFitAndVisualization(X,Y):
 # 模型数据准备
 X_parameter=[]
 Y_parameter=[]
 for single_square_feet ,single_price_value in zip(X,Y):
  X_parameter.append([float(single_square_feet)])
  Y_parameter.append(float(single_price_value))

 # 模型拟合
 regr = linear_model.LinearRegression()
 regr.fit(X_parameter, Y_parameter)
 # 模型结果与得分
 print('Coefficients: \n', regr.coef_,)
 print("Intercept:\n",regr.intercept_)
 # The mean square error
 print("Residual sum of squares: %.8f"
  % np.mean((regr.predict(X_parameter) - Y_parameter) ** 2)) # 残差平方和

 # 可视化
 plt.title("Log Data")
 plt.scatter(X_parameter, Y_parameter, color='black')
 plt.plot(X_parameter, regr.predict(X_parameter), color='blue',linewidth=3)

 # plt.xticks(())
 # plt.yticks(())
 plt.show()

if __name__=="__main__":
 X,Y=DataGenerate()
 DataFitAndVisualization(X,Y)

Python数据可视化:幂律分布实例详解

Python数据可视化:幂律分布实例详解

以上这篇Python数据可视化:幂律分布实例详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的字典和列表的使用中一些需要注意的地方
Apr 24 Python
Python实现股市信息下载的方法
Jun 15 Python
Python判断文件或文件夹是否存在的三种方法
Jul 27 Python
Python用 KNN 进行验证码识别的实现方法
Feb 06 Python
Python 十六进制整数与ASCii编码字符串相互转换方法
Jul 09 Python
Python中的支持向量机SVM的使用(附实例代码)
Jun 26 Python
linux中如何使用python3获取ip地址
Jul 15 Python
pytorch实现建立自己的数据集(以mnist为例)
Jan 18 Python
浅谈python中频繁的print到底能浪费多长时间
Feb 21 Python
Python3中的f-Strings增强版字符串格式化方法
Mar 04 Python
Python 随机生成测试数据的模块:faker基本使用方法详解
Apr 09 Python
django queryset 去重 .distinct()说明
May 19 Python
Python数据可视化:泊松分布详解
Dec 07 #Python
python-numpy-指数分布实例详解
Dec 07 #Python
Python Sympy计算梯度、散度和旋度的实例
Dec 06 #Python
python实现输入的数据在地图上生成热力图效果
Dec 06 #Python
python 画3维轨迹图并进行比较的实例
Dec 06 #Python
解决pyshp UnicodeDecodeError的问题
Dec 06 #Python
python创建ArcGIS shape文件的实现
Dec 06 #Python
You might like
PHP 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性
2006/10/09 PHP
yii框架配置默认controller和action示例
2014/04/30 PHP
Codeigniter的dom类用法实例
2015/06/26 PHP
php生成固定长度纯数字编码的方法
2015/07/09 PHP
PHP SPL 被遗落的宝石【SPL应用浅析】
2018/04/20 PHP
List Installed Hot Fixes
2007/06/12 Javascript
如何调试异步加载页面里包含的js文件
2014/10/30 Javascript
如何利用AngularJS打造一款简单Web应用
2015/12/05 Javascript
极力推荐一款小巧玲珑的可视化编辑器bootstrap-wysiwyg
2016/05/27 Javascript
BootStrap selectpicker后台动态绑定数据
2017/06/01 Javascript
vue-resource + json-server模拟数据的方法
2017/11/02 Javascript
微信小程序实现漂亮的弹窗效果
2020/05/26 Javascript
Angularjs Ng_repeat中实现复选框选中并显示不同的样式方法
2018/09/12 Javascript
详解jQuery获取特殊属性的值以及设置内容
2018/11/14 jQuery
小程序两种滚动公告栏的实现方法
2019/09/17 Javascript
jQuery插件实现图片轮播效果
2020/10/19 jQuery
[36:33]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第二场 11.29
2020/12/02 DOTA
python3解析库lxml的安装与基本使用
2018/06/27 Python
对python 生成拼接xml报文的示例详解
2018/12/28 Python
Python3.5内置模块之random模块用法实例分析
2019/04/26 Python
python小白学习包管理器pip安装
2020/06/09 Python
快速解决pymongo操作mongodb的时区问题
2020/12/05 Python
Python项目打包成二进制的方法
2020/12/30 Python
基于CSS3特效之动画:animation的应用
2013/05/09 HTML / CSS
美国创意之家:BulbHead
2017/07/12 全球购物
Paul Smith英国官网:英国国宝级时装品牌
2019/03/21 全球购物
俄罗斯建筑和装饰材料在线商店:Stroilandia
2020/07/25 全球购物
Carrs Silver官网:英国著名的银器品牌
2020/08/29 全球购物
纬创Java面试题笔试题
2014/10/02 面试题
优秀英语专业毕业生求职信
2013/11/23 职场文书
见习期自我鉴定范文
2014/03/19 职场文书
经贸日语专业个人求职信范文
2014/04/29 职场文书
2015试用期转正工作总结
2014/12/12 职场文书
教师工作决心书
2015/02/04 职场文书
2015年度残疾人工作总结
2015/05/14 职场文书
“学党章、守党纪、讲党规”学习心得体会
2016/01/14 职场文书