在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ Scipy ODR
Scipy積分
Scipy優(yōu)化算法
Scipy特殊包
Scipy簇聚
Scipy ODR
Scipy Ndimage
Scipy插值
Scipy CSGraph
Scipy輸入和輸出
Scipy開(kāi)發(fā)環(huán)境安裝
Scipy簡(jiǎn)介
Scipy常量
Scipy統(tǒng)計(jì)函數(shù)
Scipy Linalg
Scipy空間
Scipy FFTpack
Scipy基本功能
Scipy教程

Scipy ODR

ODR代表正交距離回歸,用于回歸研究。 基本線(xiàn)性回歸通常用于通過(guò)在圖上繪制最佳擬合線(xiàn)來(lái)估計(jì)兩個(gè)變量yx之間的關(guān)系。

用于此的數(shù)學(xué)方法稱(chēng)為最小平方,旨在最小化每個(gè)點(diǎn)的平方誤差總和。 這里的關(guān)鍵問(wèn)題是如何計(jì)算每個(gè)點(diǎn)的誤差(也稱(chēng)為殘差)?

在一個(gè)標(biāo)準(zhǔn)的線(xiàn)性回歸中,目的是從X值預(yù)測(cè)Y值 - 因此明智的做法是計(jì)算Y值的誤差(如下圖所示的灰線(xiàn)所示)。 但是,有時(shí)考慮XY的誤差(如下圖中的紅色虛線(xiàn)所示)更為明智。

例如 - 當(dāng)知道對(duì)X的測(cè)量是不確定的,或者當(dāng)不想關(guān)注一個(gè)變量相對(duì)于另一個(gè)變量的錯(cuò)誤時(shí)。

正交距離回歸(ODR)是一種可以做到這一點(diǎn)的方法(正交在這里表示為垂直 - 所以它計(jì)算垂直于線(xiàn)的誤差,而不僅僅是’垂直’)。

單變量回歸的scipy.odr實(shí)現(xiàn)

以下示例演示單變量回歸的scipy.odr實(shí)現(xiàn)。

import numpy as np
import matplotlib.pyplot as plt
from scipy.odr import *
import random

# Initiate some data, giving some randomness using random.random().
x = np.array([0, 1, 2, 3, 4, 5])
y = np.array([i**2 + random.random() for i in x])

# Define a function (quadratic in our case) to fit the data with.
def linear_func(p, x):
   m, c = p
   return m*x + c

# Create a model for fitting.
linear_model = Model(linear_func)

# Create a RealData object using our initiated data from above.
data = RealData(x, y)

# Set up ODR with the model and data.
odr = ODR(data, linear_model, beta0=[0., 1.])

# Run the regression.
out = odr.run()

# Use the in-built pprint method to give us results.
out.pprint()

上述程序?qū)⑸梢韵螺敵?-

Beta: [ 5.50355382 -3.88825011]
Beta Std Error: [ 0.77904626  2.33231797]
Beta Covariance: [[  1.92223609  -4.80559051]
 [ -4.80559051  17.22882877]]
Residual Variance: 0.31573284521355344
Inverse Condition #: 0.1465848083469268
Reason(s) for Halting:
  Sum of squares convergence