1、公式推導(dǎo)

對(duì)冪律分布公式:

對(duì)公式兩邊同時(shí)取以10為底的對(duì)數(shù):


所以對(duì)于冪律公式,對(duì)X,Y取對(duì)數(shù)后,在坐標(biāo)軸上為線性方程。
2、可視化
從圖形上來(lái)說(shuō),冪律分布及其擬合效果:

對(duì)X軸與Y軸取以10為底的對(duì)數(shù)。效果上就是X軸上1與10,與10與100的距離是一樣的。

對(duì)XY取雙對(duì)數(shù)后,坐標(biāo)軸上點(diǎn)可以很好用直線擬合。所以,判定數(shù)據(jù)是否符合冪律分布,只需要對(duì)XY取雙對(duì)數(shù),判斷能否用一個(gè)直線很好擬合就行。常見(jiàn)的直線擬合效果評(píng)估標(biāo)準(zhǔn)有擬合誤差平方和、R平方。
3、代碼實(shí)現(xiàn)
#!/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一個(gè)數(shù)據(jù) 0處取對(duì)數(shù),會(huì)時(shí)負(fù)無(wú)窮 生成100個(gè)數(shù)據(jù)點(diǎn)
noise=norm.rvs(0, size=100, scale=0.2) # 生成50個(gè)正態(tài)分布 scale=0.1控制噪聲強(qiáng)度
Y=[]
for i in range(len(X)):
Y.append(10.8*pow(X[i],-0.3)+noise[i]) # 得到Y(jié)=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) # 對(duì)X,Y取雙對(duì)數(shù)
Y=np.log10(Y)
return X,Y
def DataFitAndVisualization(X,Y):
# 模型數(shù)據(jù)準(zhǔn)備
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)
# 模型結(jié)果與得分
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)另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
文章標(biāo)題:Python數(shù)據(jù)可視化:冪律分布實(shí)例詳解-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://www.chinadenli.net/article12/dccpdc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、微信公眾號(hào)、網(wǎng)站改版、標(biāo)簽優(yōu)化、用戶體驗(yàn)、網(wǎng)站營(yíng)銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容