簡體   English   中英

最佳擬合線與散點圖不匹配

[英]The line of best fit doesn't match the scatter plot

下面是我的帶有回歸線性的散點圖。 僅通過查看標記在繪圖上的分布方式,我覺得線性沒有正確覆蓋它們。 從我看來,它應該更像是一條對角線和一條更直線,而不是一條曲線。 這是我生成情節的代碼:

for i in range (len(linkKarmaList)):
    plt.scatter(commentKarmaList[i], linkKarmaList[i], marker="o", s=len(clearModSet[i])*1.0*0.9)
x = numpy.asarray(commentKarmaList)
y = numpy.asarray(linkKarmaList )
plt.plot(numpy.unique(x), numpy.poly1d(numpy.polyfit(x, y, 1))(numpy.unique(x)))
plt.xlabel('Comment Karma ')
plt.ylabel('Link Karma')
plt.title('Link and comment Karma of most popular Forums on reddit')
plt.xscale('log')
plt.yscale('log')
plt.legend()
plt.show

我的解釋正確嗎? 我錯過了什么?

在此處輸入圖片說明

您正在嘗試擬合一條直線y = a*x + b ,它在對數空間中看起來不像直線。 相反,您應該在對數空間中繪制一條直線。

這歸結為log(y) = a * log(x) + b然后我們可以將其重寫為log(y) = log(x^a) + b如果我們然后取其指數,我們會發現: y = x^a * 10^b或只是y = C * x^a ,其中C (=10^b) 和a是擬合參數, xy是您的數據。 這是在 log-log 空間中形成一條直線的函數,這是您應該嘗試適應數據的函數。

從你展示的內容來看,我想說的問題是,在對數對數圖中,散點圖看起來或多或少像一條線。

問題是您要針對自然值進行擬合,然后在對數對數圖中進行繪制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM