日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python scipy模块文档_scipy模块stats文档

發(fā)布時間:2024/9/15 python 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python scipy模块文档_scipy模块stats文档 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

https://github.com/yiyuezhuo/scipy.stats-doc-ch

https://docs.scipy.org/doc/scipy/reference/tutorial/stats.html

http://blog.csdn.net/pipisorry/article/details/49515215

介紹

在這個教程我們討論一部分scipy.stats模塊的特性。這里我們的意圖是提供給使用者一個關(guān)于這個包的實用性知識。我們推薦reference manual來介紹更多的細(xì)節(jié)。

注意:這個文檔還在發(fā)展中。

隨機變量

有一些通用的概率分布類被封裝在continuous random variables以及 discrete random variables中。有80多個連續(xù)性隨機變量(RVs)以及10余個離散隨機變量已經(jīng)用 這些類建立。同樣,新的程序和分布可以被用戶新建(如果你構(gòu)造了一個,請?zhí)峁┧o我們幫助發(fā)展 這個包)。

所有統(tǒng)計函數(shù)被放在子包scipy.stats中,且有這些函數(shù)的一個幾乎完整的列表可以使用 info(stats)獲得。這個列表里的隨機變量也可以從stats子包的docstring中獲得介紹。

在接下來的討論中,我們著重于連續(xù)性隨機變量(RVs)。幾乎所有離散變量也符合下面的討論, 盡管我們將“離散分布的特殊之處”指出它們的一些區(qū)別。

下面的示例代碼我們假設(shè)scipy.stats包已被下述方式導(dǎo)入。

>>> from scipy import stats

有些例子假設(shè)對象被這樣的方式導(dǎo)入(不用輸完整路徑)了。

>>> from scipy.stats import norm

獲得幫助

所有分布可以使用help函數(shù)得到解釋。為獲得這些信息只需要使用像這樣的簡單調(diào)用:

>>> print norm.__doc__

作為例子,我們用這種方式獲取分布的上下界

>>> print 'bounds of distribution lower: %s, upper: %s' % (norm.a,norm.b)

bounds of distribution lower: -inf, upper: inf

我們可以通過調(diào)用dir(norm)來獲得關(guān)于這個(正態(tài))分布的所有方法和屬性。應(yīng)該看到, 一些方法是私有方法盡管其并沒有以名稱表示出來(比如它們前面沒有以下劃線開頭), 比如veccdf就只用于內(nèi)部計算(試圖使用那些方法將引發(fā)警告,因為它們可能會在后續(xù)開發(fā)中被移除)

為了獲得真正的主要方法,我們列舉凍結(jié)分布的方法(我們將在下文解釋何謂凍結(jié))

>>> rv = norm()

>>> dir(rv) # reformatted

['__class__', '__delattr__', '__dict__', '__doc__', '__getattribute__',

'__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__',

'__repr__', '__setattr__', '__str__', '__weakref__', 'args', 'cdf', 'dist',

'entropy', 'isf', 'kwds', 'moment', 'pdf', 'pmf', 'ppf', 'rvs', 'sf', 'stats']

最后,我們能通過內(nèi)省獲得所有的可用分布的信息。

>>> import warnings

>>> warnings.simplefilter('ignore', DeprecationWarning)

>>> dist_continu = [d for d in dir(stats) if

... isinstance(getattr(stats,d), stats.rv_continuous)]

>>> dist_discrete = [d for d in dir(stats) if

... isinstance(getattr(stats,d), stats.rv_discrete)]

>>> print 'number of continuous distributions:', len(dist_continu)

number of continuous distributions: 84

>>> print 'number of discrete distributions: ', len(dist_discrete)

number of discrete distributions: 12

通用方法

連續(xù)隨機變量的主要公共方法如下:

rvs:隨機變量(就是從這個分布中抽一些樣本)

pdf:概率密度函數(shù)。

cdf:累計分布函數(shù)

sf:殘存函數(shù)(1-CDF)

ppf:分位點函數(shù)(CDF的逆)

isf:逆殘存函數(shù)(sf的逆)

stats:返回均值,方差,(費舍爾)偏態(tài),(費舍爾)峰度。

moment:分布的非中心矩。

讓我們使用一個標(biāo)準(zhǔn)正態(tài)(normal)隨機變量(RV)作為例子。

>>> norm.cdf(0)

0.5

為了計算在一個點上的cdf,我們可以傳遞一個列表或一個numpy數(shù)組。

>>> norm.cdf([-1., 0, 1])

array([ 0.15865525, 0.5 , 0.84134475])

>>> import numpy as np

>>> norm.cdf(np.array([-1., 0, 1]))

array([ 0.15865525, 0.5 , 0.84134475])

相應(yīng)的,像pdf,cdf之類的簡單方法可以用np.vectorize進(jìn)行矢量化.

一些其他的實用通用方法:

>>> norm.mean(), norm.std(), norm.var()

(0.0, 1.0, 1.0)

>>> norm.stats(moments = "mv")

(array(0.0), array(1.0))

為了找到一個分布的中中位數(shù),我們可以使用分位數(shù)函數(shù)ppf,它是cdf的逆。

>>> norm.ppf(0.5)

0.0

為了產(chǎn)生一個隨機變量列,使用size關(guān)鍵字參數(shù)。

>>> norm.rvs(size=5)

array([-0.35687759, 1.34347647, -0.11710531, -1.00725181, -0.51275702])

不要認(rèn)為norm.rvs(5)產(chǎn)生了五個變量。

>>> norm.rvs(5)

7.131624370075814

欲知其意,請看下一部分的內(nèi)容。

偏移(Shifting)與縮放(Scaling)

所有連續(xù)分布可以操縱loc以及scale參數(shù)調(diào)整分布的location和scale屬性。作為例子, 標(biāo)準(zhǔn)正態(tài)分布的location是均值而scale是標(biāo)準(zhǔn)差。

>>> norm.stats(loc = 3, scale = 4, moments = "mv")

(array(3.0), array(16.0))

通常經(jīng)標(biāo)準(zhǔn)化的分布的隨機變量X可以通過變換(X-loc)/scale獲得。它們的默認(rèn)值是loc=0以及scale=1.

聰明的使用loc與scale可以幫助以靈活的方式調(diào)整標(biāo)準(zhǔn)分布達(dá)到所想要的效果。 為了進(jìn)一步說明縮放的效果,下面給出期望為1/λ指數(shù)分布的cdf。

F(x)=1?exp(?λx)

通過像上面那樣使用scale,可以看到如何得到目標(biāo)期望值。

>>> from scipy.stats import expon

>>> expon.mean(scale=3.)

3.0

均勻分布也是令人感興趣的:

>>> from scipy.stats import uniform

>>> uniform.cdf([0, 1, 2, 3, 4, 5], loc = 1, scale = 4)

array([ 0. , 0. , 0.25, 0.5 , 0.75, 1. ])

最后,聯(lián)系起我們在前面段落中留下的norm.rvs(5)的問題。事實上,像這樣調(diào)用一個分布, 其第一個參數(shù),像之前的5,是把loc參數(shù)調(diào)到了5,讓我們看:

>>> np.mean(norm.rvs(5, size=500))

4.983550784784704

在這里,為解釋最后一段的輸出:norm.rvs(5)產(chǎn)生了一個正態(tài)分布變量,其期望,即loc=5.

我傾向于明確的使用loc,scale作為關(guān)鍵字而非像上面那樣依賴參數(shù)的順序。 因為這看上去有點令人困惑。我們在我們解釋“凍結(jié)RV”的主題之前澄清這一點。

形態(tài)(shape)參數(shù)

雖然一般連續(xù)隨機變量都可以通過賦予loc和scale參數(shù)進(jìn)行偏移和縮放,但一些分布還需要 額外的形態(tài)參數(shù)確定其形態(tài)。作為例子,看到這個伽馬分布,這是它的密度函數(shù)

γ(x,a)=λ(λx)a?1Γ(a)e?λx,

它要求一個形態(tài)參數(shù)a。注意到λ的設(shè)置可以通過設(shè)置scale關(guān)鍵字為1/λ進(jìn)行。

讓我們檢查伽馬分布的形態(tài)參數(shù)的名字的數(shù)量。(我們從上面知道其應(yīng)該為1)

>>> from scipy.stats import gamma

>>> gamma.numargs

1

>>> gamma.shapes

'a'

現(xiàn)在我們設(shè)置形態(tài)變量的值為1以變成指數(shù)分布。所以我們可以容易的比較是否得到了我們所期望的結(jié)果。

>>> gamma(1, scale=2.).stats(moments="mv")

(array(2.0), array(4.0))

注意我們也可以以關(guān)鍵字的方式指定形態(tài)參數(shù):

>>> gamma(a=1, scale=2.).stats(moments="mv")

(array(2.0), array(4.0))

凍結(jié)分布

不斷地傳遞loc與scale關(guān)鍵字最終會讓人厭煩。而凍結(jié)RV的概念被用來解決這個問題。

>>> rv = gamma(1, scale=2.)

通過使用rv,在任何情況下我們不再需要包含scale與形態(tài)參數(shù)。顯然,分布可以被多種方式使用, 我們可以通過傳遞所有分布參數(shù)給對方法的每次調(diào)用(像我們之前做的那樣)或者可以對一個分 布對象先凍結(jié)參數(shù)。讓我們看看是怎么回事:

>>> rv.mean(), rv.std()

(2.0, 2.0)

這正是我們應(yīng)該得到的。

廣播

像pdf這樣的簡單方法滿足numpy的廣播規(guī)則。作為例子,我們可以計算t分布的右尾分布的臨界值 對于不同的概率值以及自由度。

>>> stats.t.isf([0.1, 0.05, 0.01], [[10], [11]])

array([[ 1.37218364, 1.81246112, 2.76376946],

[ 1.36343032, 1.79588482, 2.71807918]])

這里,第一行是以10自由度的臨界值,而第二行是以11為自由度的臨界值。所以, 廣播規(guī)則與下面調(diào)用了兩次isf產(chǎn)生的結(jié)果相同。

>>> stats.t.isf([0.1, 0.05, 0.01], 10)

array([ 1.37218364, 1.81246112, 2.76376946])

>>> stats.t.isf([0.1, 0.05, 0.01], 11)

array([ 1.36343032, 1.79588482, 2.71807918])

但是如果概率數(shù)組,如[0.1,0.05,0.01]與自由度數(shù)組,如[10,11,12]具有相同的數(shù)組形態(tài), 則進(jìn)行對應(yīng)匹配,我們可以分別得到10%,5%,1%尾的臨界值對于10,11,12的自由度。

>>> stats.t.isf([0.1, 0.05, 0.01], [10, 11, 12])

array([ 1.37218364, 1.79588482, 2.68099799])

離散分布的特殊之處

離散分布的方法的大多數(shù)與連續(xù)分布很類似。當(dāng)然像pdf被更換為密度函數(shù)pmf,沒有估計方法, 像fit就不能用了。而scale不是一個合法的關(guān)鍵字參數(shù)。Location參數(shù), 關(guān)鍵字loc則仍然可以使用用于位移。

cdf的計算要求一些額外的關(guān)注。在連續(xù)分布的情況下,累積分布函數(shù)在大多數(shù)標(biāo)準(zhǔn)情況下是嚴(yán)格遞增的, 所以有唯一的逆。而cdf在離散分布卻一般是階躍函數(shù),所以cdf的逆,分位點函數(shù),要求一個不同的定義:

ppf(q) = min{x : cdf(x) >= q, x integer}

為了更多信息可以看這里。

我們可以看這個超幾何分布的例子

>>> from scipy.stats import hypergeom

>>> [M, n, N] = [20, 7, 12]

如果我們在一些整數(shù)點使用cdf,則它們的cdf值再作用ppf會回到開始的值。

>>> x = np.arange(4)*2

>>> x

array([0, 2, 4, 6])

>>> prb = hypergeom.cdf(x, M, n, N)

>>> prb

array([ 0.0001031991744066, 0.0521155830753351, 0.6083591331269301,

0.9897832817337386])

>>> hypergeom.ppf(prb, M, n, N)

array([ 0., 2., 4., 6.])

如果我們使用的值不是cdf的函數(shù)值,則我們得到一個更高的值。

>>> hypergeom.ppf(prb + 1e-8, M, n, N)

array([ 1., 3., 5., 7.])

>>> hypergeom.ppf(prb - 1e-8, M, n, N)

array([ 0., 2., 4., 6.])

分布擬合

非凍結(jié)分布的參數(shù)估計的主要方法:

fit:分布參數(shù)的極大似然估計,包括location與scale

fit_loc_scale: 給定形態(tài)參數(shù)確定下的location和scale參數(shù)的估計

nnlf:負(fù)對數(shù)似然函數(shù)

expect:計算函數(shù)pdf或pmf的期望值。

性能問題與注意事項

分布方法的性能與運行速度根據(jù)分布的不同表現(xiàn)差異極大。方法的結(jié)果可以由兩種方式獲得, 精確計算或使用獨立于各具體分布的通用算法。

精確計算一般更快。為了進(jìn)行精確計算,要么直接使用解析公式,要么使用scipy.special中的 函數(shù),對于rvs還可以使用numpy.random里的函數(shù)。

另一方面,如果不能進(jìn)行精確計算,將使用通用方法進(jìn)行計算。于是為了定義一個分布, 只有pdf異或cdf是必須的;通用方法使用數(shù)值積分和求根法進(jìn)行求解。作為例子, rgh = stats.gausshyper.rvs(0.5, 2, 2, 2, size=100)以這種方式創(chuàng)建了100個隨機變量 (抽了100個值),這在我的電腦上花了19秒(譯者:我花了3.5秒), 對比取一百萬個標(biāo)準(zhǔn)正態(tài)分布的值只需要1秒。

遺留問題

scipy.stats里的分布最近進(jìn)行了升級并且被仔細(xì)的檢查過了,不過仍有一些問題存在。

分布在很多參數(shù)區(qū)間上的值被測試過了,然而在一些奇葩的臨界條件,仍然可能有錯誤的值存在。

fit的極大似然估計以默認(rèn)值作為初始參數(shù)將不會工作的很好,用戶必須指派合適的初始參數(shù)。 并且,對于一些分布使用極大似然估計本身就不是一個好的選擇。

構(gòu)造具體的分布

下一個例子展示了如何建立你自己的分布。更多的例子見分布用法以及統(tǒng)計檢驗

創(chuàng)建一個連續(xù)分布,繼承rv_continuous類

創(chuàng)建連續(xù)分布是非常簡單的.

>>> from scipy import stats

>>> class deterministic_gen(stats.rv_continuous):

... def _cdf(self, x):

... return np.where(x < 0, 0., 1.)

... def _stats(self):

... return 0., 0., 0., 0.

>>> deterministic = deterministic_gen(name="deterministic")

>>> deterministic.cdf(np.arange(-3, 3, 0.5))

array([ 0., 0., 0., 0., 0., 0., 1., 1., 1., 1., 1., 1.])

令人高興的是,pdf也能被自動計算出來:

>>>

>>> deterministic.pdf(np.arange(-3, 3, 0.5))

array([ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,

0.00000000e+00, 0.00000000e+00, 0.00000000e+00,

5.83333333e+04, 4.16333634e-12, 4.16333634e-12,

4.16333634e-12, 4.16333634e-12, 4.16333634e-12])

注意這種用法的性能問題,參見“性能問題與注意事項”一節(jié)。這種缺乏信息的通用計算可能非常慢。 而且再看看下面這個準(zhǔn)確性的例子:

>>> from scipy.integrate import quad

>>> quad(deterministic.pdf, -1e-1, 1e-1)

(4.163336342344337e-13, 0.0)

但這并不是對pdf積分的正確的結(jié)果,實際上結(jié)果應(yīng)為1.讓我們將積分變得更小一些。

>>> quad(deterministic.pdf, -1e-3, 1e-3) # warning removed

(1.000076872229173, 0.0010625571718182458)

這樣看上去好多了,然而,問題本身來源于pdf不是來自包給定的類的定義。

繼承rv_discrete類

在之后我們使用stats.rv_discrete產(chǎn)生一個離散分布,其有一個整數(shù)區(qū)間截斷概率。

通用信息

通用信息可以從 rv_discrete的 docstring中得到。

>>> from scipy.stats import rv_discrete

>>> help(rv_discrete)

從中我們得知:

“你可以構(gòu)建任意一個像P(X=xk)=pk一樣形式的離散rv,通過傳遞(xk,pk)元組序列給 rv_discrete初始化方法(通過values=keyword方式),但其不能有0概率值。”

接下來,還有一些進(jìn)一步的要求:

keyword必須給出。

Xk必須是整數(shù)

小數(shù)的有效位數(shù)應(yīng)當(dāng)被給出。

事實上,如果最后兩個要求沒有被滿足,一個異常將被拋出或者導(dǎo)致一個錯誤的數(shù)值。

一個例子

讓我們開始辦,首先

>>> npoints = 20 # number of integer support points of the distribution minus 1

>>> npointsh = npoints / 2

>>> npointsf = float(npoints)

>>> nbound = 4 # bounds for the truncated normal

>>> normbound = (1+1/npointsf) * nbound # actual bounds of truncated normal

>>> grid = np.arange(-npointsh, npointsh+2, 1) # integer grid

>>> gridlimitsnorm = (grid-0.5) / npointsh * nbound # bin limits for the truncnorm

>>> gridlimits = grid - 0.5 # used later in the analysis

>>> grid = grid[:-1]

>>> probs = np.diff(stats.truncnorm.cdf(gridlimitsnorm, -normbound, normbound))

>>> gridint = grid

然后我們可以繼承rv_discrete類

>>> normdiscrete = stats.rv_discrete(values=(gridint,

... np.round(probs, decimals=7)), name='normdiscrete')

現(xiàn)在我們已經(jīng)定義了這個分布,我們可以調(diào)用其所有常規(guī)的離散分布方法。

>>> print 'mean = %6.4f, variance = %6.4f, skew = %6.4f, kurtosis = %6.4f'% \

... normdiscrete.stats(moments = 'mvsk')

mean = -0.0000, variance = 6.3302, skew = 0.0000, kurtosis = -0.0076

>>> nd_std = np.sqrt(normdiscrete.stats(moments='v'))

測試上面的結(jié)果

讓我們產(chǎn)生一個隨機樣本并且比較連續(xù)概率的情況。

>>> n_sample = 500

>>> np.random.seed(87655678) # fix the seed for replicability

>>> rvs = normdiscrete.rvs(size=n_sample)

>>> rvsnd = rvs

>>> f, l = np.histogram(rvs, bins=gridlimits)

>>> sfreq = np.vstack([gridint, f, probs*n_sample]).T

>>> print sfreq

[[ -1.00000000e+01 0.00000000e+00 2.95019349e-02]

[ -9.00000000e+00 0.00000000e+00 1.32294142e-01]

[ -8.00000000e+00 0.00000000e+00 5.06497902e-01]

[ -7.00000000e+00 2.00000000e+00 1.65568919e+00]

[ -6.00000000e+00 1.00000000e+00 4.62125309e+00]

[ -5.00000000e+00 9.00000000e+00 1.10137298e+01]

[ -4.00000000e+00 2.60000000e+01 2.24137683e+01]

[ -3.00000000e+00 3.70000000e+01 3.89503370e+01]

[ -2.00000000e+00 5.10000000e+01 5.78004747e+01]

[ -1.00000000e+00 7.10000000e+01 7.32455414e+01]

[ 0.00000000e+00 7.40000000e+01 7.92618251e+01]

[ 1.00000000e+00 8.90000000e+01 7.32455414e+01]

[ 2.00000000e+00 5.50000000e+01 5.78004747e+01]

[ 3.00000000e+00 5.00000000e+01 3.89503370e+01]

[ 4.00000000e+00 1.70000000e+01 2.24137683e+01]

[ 5.00000000e+00 1.10000000e+01 1.10137298e+01]

[ 6.00000000e+00 4.00000000e+00 4.62125309e+00]

[ 7.00000000e+00 3.00000000e+00 1.65568919e+00]

[ 8.00000000e+00 0.00000000e+00 5.06497902e-01]

[ 9.00000000e+00 0.00000000e+00 1.32294142e-01]

[ 1.00000000e+01 0.00000000e+00 2.95019349e-02]]

接下來,我們可以測試,是否我們的樣本取自于一個normdiscrete分布。這也是在驗證 是否隨機數(shù)是以正確的方式產(chǎn)生的。

卡方測試要求起碼在每個子區(qū)間(bin)里具有最小數(shù)目的觀測值。我們組合末端子區(qū)間進(jìn)大子區(qū)間 所以它們現(xiàn)在包含了足夠數(shù)量的觀測值。

>>> f2 = np.hstack([f[:5].sum(), f[5:-5], f[-5:].sum()])

>>> p2 = np.hstack([probs[:5].sum(), probs[5:-5], probs[-5:].sum()])

>>> ch2, pval = stats.chisquare(f2, p2*n_sample)

>>> print 'chisquare for normdiscrete: chi2 = %6.3f pvalue = %6.4f' % (ch2, pval)

chisquare for normdiscrete: chi2 = 12.466 pvalue = 0.4090

P值在這個情況下是不顯著地,所以我們可以斷言我們的隨機樣本的確是由此分布產(chǎn)生的。

樣本分析

首先,我們創(chuàng)建一些隨機變量。我們設(shè)置一個種子所以每次我們都可以得到相同的結(jié)果以便觀察。 作為一個例子,我們從t分布中抽一個樣本。

>>> np.random.seed(282629734)

>>> x = stats.t.rvs(10, size=1000)

這里,我們設(shè)置了t分布的形態(tài)參數(shù),在這里就是自由度,設(shè)為10.使用size=1000表示 我們的樣本由1000個抽樣是獨立的(偽)。當(dāng)我們不指派loc和scale時,它們具有默認(rèn)值0和1.

描述統(tǒng)計

X是一個numpy數(shù)組。我們可以直接調(diào)用它的方法。

>>> print x.max(), x.min() # equivalent to np.max(x), np.min(x)

5.26327732981 -3.78975572422

>>> print x.mean(), x.var() # equivalent to np.mean(x), np.var(x)

0.0140610663985 1.28899386208

如何比較分布本身和它的樣本的指標(biāo)?

>>> m, v, s, k = stats.t.stats(10, moments='mvsk')

>>> n, (smin, smax), sm, sv, ss, sk = stats.describe(x)

>>> print 'distribution:',

distribution:

>>> sstr = 'mean = %6.4f, variance = %6.4f, skew = %6.4f, kurtosis = %6.4f'

>>> print sstr %(m, v, s ,k)

mean = 0.0000, variance = 1.2500, skew = 0.0000, kurtosis = 1.0000

>>> print 'sample: ',

sample:

>>> print sstr %(sm, sv, ss, sk)

mean = 0.0141, variance = 1.2903, skew = 0.2165, kurtosis = 1.0556

注意:stats.describe用的是無偏的方差估計量,而np.var卻用的是有偏的估計量。

T檢驗和KS檢驗

我們可以使用t檢驗是否樣本與給定均值(這里是理論均值)存在統(tǒng)計顯著差異。

>>> print 't-statistic = %6.3f pvalue = %6.4f' % stats.ttest_1samp(x, m)

t-statistic = 0.391 pvalue = 0.6955

P值為0.7,這代表第一類錯誤的概率,在例子中,為10%。我們不能拒絕“該樣本均值為0”這個假設(shè), 0是標(biāo)準(zhǔn)t分布的理論均值。

>>> tt = (sm-m)/np.sqrt(sv/float(n)) # t-statistic for mean

>>> pval = stats.t.sf(np.abs(tt), n-1)*2 # two-sided pvalue = Prob(abs(t)>tt)

>>> print 't-statistic = %6.3f pvalue = %6.4f' % (tt, pval)

t-statistic = 0.391 pvalue = 0.6955

這里Kolmogorov-Smirnov檢驗(KS檢驗)被被用來檢驗樣本是否來自一個標(biāo)準(zhǔn)的t分布。

>>> print 'KS-statistic D = %6.3f pvalue = %6.4f' % stats.kstest(x, 't', (10,))

KS-statistic D = 0.016 pvalue = 0.9606

又一次得到了很高的P值。所以我們不能拒絕樣本是來自t分布的假設(shè)。在實際應(yīng)用中, 我們不能知道潛在的分布到底是什么。如果我們使用KS檢驗我們的樣本對照正態(tài)分布, 那么我們將也不能拒絕我們的樣本是來自正態(tài)分布的,在這種情況下P值為0.4左右。

>>> print 'KS-statistic D = %6.3f pvalue = %6.4f' % stats.kstest(x,'norm')

KS-statistic D = 0.028 pvalue = 0.3949

無論如何,標(biāo)準(zhǔn)正態(tài)分布有1的方差,當(dāng)我們的樣本有1.29時。如果我們標(biāo)準(zhǔn)化我們的樣本并且 測試它比照正態(tài)分布,那么P值將又一次很高我們將還是不能拒絕假設(shè)是來自正態(tài)分布的。

>>> d, pval = stats.kstest((x-x.mean())/x.std(), 'norm')

>>> print 'KS-statistic D = %6.3f pvalue = %6.4f' % (d, pval)

KS-statistic D = 0.032 pvalue = 0.2402

注釋:KS檢驗假設(shè)我們比照的分布就是以給定的參數(shù)確定的,但我們在最后估計了均值和方差, 這個假設(shè)就被違反了,故而這個測試統(tǒng)計量的P值是含偏的,這個用法是錯誤的。

分布尾部

最后,我們可以檢查分布的右尾,我們可以使用分位點函數(shù)ppf,其為cdf函數(shù)的逆,來獲得臨界值, 或者更直接的,我們可以使用殘存函數(shù)的逆來辦。

>>> crit01, crit05, crit10 = stats.t.ppf([1-0.01, 1-0.05, 1-0.10], 10)

>>> print 'critical values from ppf at 1%%, 5%% and 10%% %8.4f %8.4f %8.4f'% (crit01, crit05, crit10)

critical values from ppf at 1%, 5% and 10% 2.7638 1.8125 1.3722

>>> print 'critical values from isf at 1%%, 5%% and 10%% %8.4f %8.4f %8.4f'% tuple(stats.t.isf([0.01,0.05,0.10],10))

critical values from isf at 1%, 5% and 10% 2.7638 1.8125 1.3722

>>> freq01 = np.sum(x>crit01) / float(n) * 100

>>> freq05 = np.sum(x>crit05) / float(n) * 100

>>> freq10 = np.sum(x>crit10) / float(n) * 100

>>> print 'sample %%-frequency at 1%%, 5%% and 10%% tail %8.4f %8.4f %8.4f'% (freq01, freq05, freq10)

sample %-frequency at 1%, 5% and 10% tail 1.4000 5.8000 10.5000

在這三種情況中,我們的樣本有有一個更重的尾部,即實際在理論分界值右邊的概率要高于理論值。 我們可以通過使用更大的樣本來獲得更好的擬合。在以下情況經(jīng)驗頻率已經(jīng)很接近理論概率了, 但即使我們重復(fù)這個過程若干次,波動依然會保持在這個程度。

>>> freq05l = np.sum(stats.t.rvs(10, size=10000) > crit05) / 10000.0 * 100

>>> print 'larger sample %%-frequency at 5%% tail %8.4f'% freq05l

larger sample %-frequency at 5% tail 4.8000

我們也可以比較它與正態(tài)分布的尾部,其有一個輕的多的尾部:

>>> print 'tail prob. of normal at 1%%, 5%% and 10%% %8.4f %8.4f %8.4f'% \

... tuple(stats.norm.sf([crit01, crit05, crit10])*100)

tail prob. of normal at 1%, 5% and 10% 0.2857 3.4957 8.5003

卡方檢驗可以被用來測試,是否一個有限的分類觀測值頻率與假定的理論概率分布具有顯著差異。

>>> quantiles = [0.0, 0.01, 0.05, 0.1, 1-0.10, 1-0.05, 1-0.01, 1.0]

>>> crit = stats.t.ppf(quantiles, 10)

>>> print crit

[ -Inf -2.76376946 -1.81246112 -1.37218364 1.37218364 1.81246112

2.76376946 Inf]

>>> n_sample = x.size

>>> freqcount = np.histogram(x, bins=crit)[0]

>>> tprob = np.diff(quantiles)

>>> nprob = np.diff(stats.norm.cdf(crit))

>>> tch, tpval = stats.chisquare(freqcount, tprob*n_sample)

>>> nch, npval = stats.chisquare(freqcount, nprob*n_sample)

>>> print 'chisquare for t: chi2 = %6.3f pvalue = %6.4f' % (tch, tpval)

chisquare for t: chi2 = 2.300 pvalue = 0.8901

>>> print 'chisquare for normal: chi2 = %6.3f pvalue = %6.4f' % (nch, npval)

chisquare for normal: chi2 = 64.605 pvalue = 0.0000

我們看到當(dāng)t分布檢驗沒被拒絕時標(biāo)準(zhǔn)正態(tài)分布卻被完全拒絕。在我們的樣本區(qū)分出這兩個分布后, 我們可以先進(jìn)行擬合確定scale與location再檢查擬合后的分布的差異性。

我們可以先進(jìn)行擬合,再用擬合分布而不是默認(rèn)(起碼location和scale是默認(rèn)的)分布去進(jìn)行檢驗。

>>> tdof, tloc, tscale = stats.t.fit(x)

>>> nloc, nscale = stats.norm.fit(x)

>>> tprob = np.diff(stats.t.cdf(crit, tdof, loc=tloc, scale=tscale))

>>> nprob = np.diff(stats.norm.cdf(crit, loc=nloc, scale=nscale))

>>> tch, tpval = stats.chisquare(freqcount, tprob*n_sample)

>>> nch, npval = stats.chisquare(freqcount, nprob*n_sample)

>>> print 'chisquare for t: chi2 = %6.3f pvalue = %6.4f' % (tch, tpval)

chisquare for t: chi2 = 1.577 pvalue = 0.9542

>>> print 'chisquare for normal: chi2 = %6.3f pvalue = %6.4f' % (nch, npval)

chisquare for normal: chi2 = 11.084 pvalue = 0.0858

在經(jīng)過參數(shù)調(diào)整之后,我們?nèi)匀豢梢砸?%水平拒絕正態(tài)分布假設(shè)。然而卻以95%的p值顯然的不能拒絕t分布。

正態(tài)分布的特殊檢驗

自從正態(tài)分布變?yōu)榻y(tǒng)計學(xué)中最常見的分布,就出現(xiàn)了大量的方法用來檢驗一個樣本 是否可以被看成是來自正態(tài)分布的。

首先我們檢驗分布的峰度和偏度是否顯著地與正態(tài)分布的對應(yīng)值相差異。

>>> print 'normal skewtest teststat = %6.3f pvalue = %6.4f' % stats.skewtest(x)

normal skewtest teststat = 2.785 pvalue = 0.0054

>>> print 'normal kurtosistest teststat = %6.3f pvalue = %6.4f' % stats.kurtosistest(x)

normal kurtosistest teststat = 4.757 pvalue = 0.0000

將這兩個檢驗組合起來的正態(tài)性檢驗

>>> print 'normaltest teststat = %6.3f pvalue = %6.4f' % stats.normaltest(x)

normaltest teststat = 30.379 pvalue = 0.0000

在所有三個測試中,P值是非常低的,所以我們可以拒絕我們的樣本的峰度與偏度與正態(tài)分布相同的假設(shè)。

當(dāng)我們的樣本標(biāo)準(zhǔn)化之后,我們依舊得到相同的結(jié)果。

>>> print 'normaltest teststat = %6.3f pvalue = %6.4f' % \

... stats.normaltest((x-x.mean())/x.std())

normaltest teststat = 30.379 pvalue = 0.0000

因為正態(tài)性被很強的拒絕了,所以我們可以檢查這種檢驗方式是否可以有效地作用到其他情況中。

>>> print 'normaltest teststat = %6.3f pvalue = %6.4f' % stats.normaltest(stats.t.rvs(10, size=100))

normaltest teststat = 4.698 pvalue = 0.0955

>>> print 'normaltest teststat = %6.3f pvalue = %6.4f' % stats.normaltest(stats.norm.rvs(size=1000))

normaltest teststat = 0.613 pvalue = 0.7361

我們檢驗了小樣本的t分布樣本的觀測值以及一個大樣本的正態(tài)分布觀測值,在這兩種情況中我們 都不能拒絕其來自正態(tài)分布的空假設(shè)。得到這樣的結(jié)果是因為前者是因為無法區(qū)分小樣本下的t分布, 后者是因為它本來就來自正態(tài)分布。

比較兩個樣本

接下來,我們有兩個分布,其可以判定為相同或者來自不同的分布,以及我們希望測試是否這些 樣本有相同的統(tǒng)計特征。

均值

以相同的均值產(chǎn)生的樣本進(jìn)行檢驗:

>>> rvs1 = stats.norm.rvs(loc=5, scale=10, size=500)

>>> rvs2 = stats.norm.rvs(loc=5, scale=10, size=500)

>>> stats.ttest_ind(rvs1, rvs2)

(-0.54890361750888583, 0.5831943748663857)

以不同的均值產(chǎn)生的樣本進(jìn)行檢驗:

>>> rvs3 = stats.norm.rvs(loc=8, scale=10, size=500)

>>> stats.ttest_ind(rvs1, rvs3)

(-4.5334142901750321, 6.507128186505895e-006)

對于兩個不同的樣本進(jìn)行的KS檢驗

在這個例子中我們使用兩個同分布的樣本進(jìn)行檢驗.設(shè)因為P值很高,毫不奇怪我們不能拒絕原假設(shè)。

>>> stats.ks_2samp(rvs1, rvs2)

(0.025999999999999995, 0.99541195173064878)

在第二個例子中,由于均值不同,所以我們可以拒絕空假設(shè),由P值小于1%。

>>> stats.ks_2samp(rvs1, rvs3)

(0.11399999999999999, 0.0027132103661283141)

核密度估計

一個常見的統(tǒng)計學(xué)問題是從一個樣本中估計隨機變量的概率密度分布函數(shù)(PDF) 這個問題被稱為密度估計,對此最著名的工具是直方圖。直方圖是一個很好的可視化工具 (主要是因為每個人都理解它)。但是對于對于數(shù)據(jù)特征的利用卻并不是非常有效率。

核密度估計(KDE對于這個問題)是一個更有效的工具。這個gaussian_kde估計方法可以被用來估計 單元或多元數(shù)據(jù)的PDF。它在數(shù)據(jù)呈單峰的時候工作的最好,但也可以在多峰情況下工作。

單元估計

我們以一個最小數(shù)據(jù)集來觀察gaussian_kde是如何工作的,以及帶寬(bandwidth)的不同選擇方式。 PDF對應(yīng)的數(shù)據(jù)被以藍(lán)線的形式顯示在圖像的底端(被稱為毯圖(rug plot))

>>> from scipy import stats

>>> import matplotlib.pyplot as plt

>>> x1 = np.array([-7, -5, 1, 4, 5], dtype=np.float)

>>> kde1 = stats.gaussian_kde(x1)

>>> kde2 = stats.gaussian_kde(x1, bw_method='silverman')

>>> fig = plt.figure()

>>> ax = fig.add_subplot(111)

>>> ax.plot(x1, np.zeros(x1.shape), 'b+', ms=20) # rug plot

>>> x_eval = np.linspace(-10, 10, num=200)

>>> ax.plot(x_eval, kde1(x_eval), 'k-', label="Scott's Rule")

>>> ax.plot(x_eval, kde1(x_eval), 'r-', label="Silverman's Rule")

>>> plt.show()

我們看到在Scott規(guī)則以及Silverman規(guī)則下的結(jié)果幾乎沒有差異。以及帶寬的選擇相比較于 數(shù)據(jù)的稀少顯得太寬。我們可以定義我們的帶寬函數(shù)以獲得一個更少平滑的結(jié)果。

>>> def my_kde_bandwidth(obj, fac=1./5):

... """We use Scott's Rule, multiplied by a constant factor."""

... return np.power(obj.n, -1./(obj.d+4)) * fac

>>> fig = plt.figure()

>>> ax = fig.add_subplot(111)

>>> ax.plot(x1, np.zeros(x1.shape), 'b+', ms=20) # rug plot

>>> kde3 = stats.gaussian_kde(x1, bw_method=my_kde_bandwidth)

>>> ax.plot(x_eval, kde3(x_eval), 'g-', label="With smaller BW")

>>> plt.show()

我們看到如果我們設(shè)置帶寬為非常狹窄,則獲得PDF的估計退化為圍繞在數(shù)據(jù)點的簡單的高斯和。

我們現(xiàn)在使用更真實的例子,并且看看在兩種帶寬選擇規(guī)則中的差異。這些規(guī)則被認(rèn)為在 正態(tài)分布上很好用,但即使是偏離正態(tài)的單峰分布上它也工作的很好。作為一個非正態(tài)分布, 我們采用5自由度的t分布。

import numpy as np

import matplotlib.pyplot as plt

from scipy import stats

np.random.seed(12456)

x1 = np.random.normal(size=200) # random data, normal distribution

xs = np.linspace(x1.min()-1, x1.max()+1, 200)

kde1 = stats.gaussian_kde(x1)

kde2 = stats.gaussian_kde(x1, bw_method='silverman')

fig = plt.figure(figsize=(8, 6))

ax1 = fig.add_subplot(211)

ax1.plot(x1, np.zeros(x1.shape), 'b+', ms=12) # rug plot

ax1.plot(xs, kde1(xs), 'k-', label="Scott's Rule")

ax1.plot(xs, kde2(xs), 'b-', label="Silverman's Rule")

ax1.plot(xs, stats.norm.pdf(xs), 'r--', label="True PDF")

ax1.set_xlabel('x')

ax1.set_ylabel('Density')

ax1.set_title("Normal (top) and Student's T$_{df=5}$ (bottom) distributions")

ax1.legend(loc=1)

x2 = stats.t.rvs(5, size=200) # random data, T distribution

xs = np.linspace(x2.min() - 1, x2.max() + 1, 200)

kde3 = stats.gaussian_kde(x2)

kde4 = stats.gaussian_kde(x2, bw_method='silverman')

ax2 = fig.add_subplot(212)

ax2.plot(x2, np.zeros(x2.shape), 'b+', ms=12) # rug plot

ax2.plot(xs, kde3(xs), 'k-', label="Scott's Rule")

ax2.plot(xs, kde4(xs), 'b-', label="Silverman's Rule")

ax2.plot(xs, stats.t.pdf(xs, 5), 'r--', label="True PDF")

ax2.set_xlabel('x')

ax2.set_ylabel('Density')

plt.show()

下面我們看到這個一個寬一個窄的雙峰分布。可以想到結(jié)果將難達(dá)到以十分近似, 因為每個峰需要不同的帶寬去擬合。

>>> from functools import partial

>>> loc1, scale1, size1 = (-2, 1, 175)

>>> loc2, scale2, size2 = (2, 0.2, 50)

>>> x2 = np.concatenate([np.random.normal(loc=loc1, scale=scale1, size=size1),

... np.random.normal(loc=loc2, scale=scale2, size=size2)])

>>> x_eval = np.linspace(x2.min() - 1, x2.max() + 1, 500)

>>> kde = stats.gaussian_kde(x2)

>>> kde2 = stats.gaussian_kde(x2, bw_method='silverman')

>>> kde3 = stats.gaussian_kde(x2, bw_method=partial(my_kde_bandwidth, fac=0.2))

>>> kde4 = stats.gaussian_kde(x2, bw_method=partial(my_kde_bandwidth, fac=0.5))

>>> pdf = stats.norm.pdf

>>> bimodal_pdf = pdf(x_eval, loc=loc1, scale=scale1) * float(size1) / x2.size + \

... pdf(x_eval, loc=loc2, scale=scale2) * float(size2) / x2.size

>>> fig = plt.figure(figsize=(8, 6))

>>> ax = fig.add_subplot(111)

>>> ax.plot(x2, np.zeros(x2.shape), 'b+', ms=12)

>>> ax.plot(x_eval, kde(x_eval), 'k-', label="Scott's Rule")

>>> ax.plot(x_eval, kde2(x_eval), 'b-', label="Silverman's Rule")

>>> ax.plot(x_eval, kde3(x_eval), 'g-', label="Scott * 0.2")

>>> ax.plot(x_eval, kde4(x_eval), 'c-', label="Scott * 0.5")

>>> ax.plot(x_eval, bimodal_pdf, 'r--', label="Actual PDF")

>>> ax.set_xlim([x_eval.min(), x_eval.max()])

>>> ax.legend(loc=2)

>>> ax.set_xlabel('x')

>>> ax.set_ylabel('Density')

>>> plt.show()

正如預(yù)想的,KDE并沒有很好的趨近正確的PDF,因為雙峰分布的形狀不同。通過使用默認(rèn)帶寬 (Scott*0.5)我們可以做得更好,再使用更小的帶寬將使平滑性受到影響。這里我們真正需要 的是非均勻(自適應(yīng))帶寬。

多元估計

通過gaussian_kde我們可以像單元估計那樣進(jìn)行多元估計。我們現(xiàn)在來解決二元情況, 首先我們產(chǎn)生一些隨機的二元數(shù)據(jù)。

>>> def measure(n):

... """Measurement model, return two coupled measurements."""

... m1 = np.random.normal(size=n)

... m2 = np.random.normal(scale=0.5, size=n)

... return m1+m2, m1-m2

>>> m1, m2 = measure(2000)

>>> xmin = m1.min()

>>> xmax = m1.max()

>>> ymin = m2.min()

>>> ymax = m2.max()

然后我們對這些數(shù)據(jù)使用KDE:

>>> X, Y = np.mgrid[xmin:xmax:100j, ymin:ymax:100j]

>>> positions = np.vstack([X.ravel(), Y.ravel()])

>>> values = np.vstack([m1, m2])

>>> kernel = stats.gaussian_kde(values)

>>> Z = np.reshape(kernel.evaluate(positions).T, X.shape)

最后我們把估計的雙峰分布以colormap形式顯示出來,并且在上面畫出每個數(shù)據(jù)點。

>>> fig = plt.figure(figsize=(8, 6))

>>> ax = fig.add_subplot(111)

>>> ax.imshow(np.rot90(Z), cmap=plt.cm.gist_earth_r,

... extent=[xmin, xmax, ymin, ymax])

>>> ax.plot(m1, m2, 'k.', markersize=2)

>>> ax.set_xlim([xmin, xmax])

>>> ax.set_ylim([ymin, ymax])

>>> plt.show()

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的python scipy模块文档_scipy模块stats文档的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

五月婷婷免费 | 99精品国产在热久久下载 | 国产高清在线视频 | 欧美成人xxxx| 亚洲国产视频在线 | 欧美另类z0zx | 欧美精品中文在线免费观看 | 中文字幕有码在线观看 | 超碰在线人人 | 最新中文字幕视频 | 一区二区三区免费在线观看 | 国产亚洲久久 | 日本老少交 | 国产精品欧美久久久久天天影视 | 久久国产精品久久国产精品 | 一区二区精品国产 | 欧美激情第八页 | 国产一区欧美在线 | 国产成人精品一区二区在线观看 | 国产69精品久久app免费版 | 欧美天天射 | 人人射网站| 免费在线电影网址大全 | 日本韩国中文字幕 | 国产精品国产三级国产aⅴ无密码 | av国产网站 | 在线免费黄色av | 天堂在线成人 | 五月精品 | 天天插日日射 | 久久黄色影院 | 极品国产91在线网站 | 国产精品麻豆99久久久久久 | 亚洲精品视频在 | 国产精品亚洲综合久久 | 免费在线观看亚洲视频 | 综合激情网... | 激情综合亚洲 | 免费黄色网址网站 | 狠狠色狠狠色综合系列 | 国产精品一区二区在线观看免费 | 国产成人av免费在线观看 | 久久精品视频2 | 久久网站最新地址 | 天天做天天爱夜夜爽 | 日韩一区精品 | 狠狠操综合 | 亚洲精品在线电影 | 在线亚洲欧美日韩 | 欧美成人黄色片 | 国产精品久久久久一区 | 欧美精品在线观看 | 日本久久综合视频 | 中文字幕美女免费在线 | 夜夜躁日日躁狠狠躁 | 啪啪小视频网站 | 高清av免费看 | 五月婷婷六月丁香在线观看 | 一区二区三区在线免费观看 | 91精品视频免费看 | 成人久久18免费网站 | 在线 你懂| 色免费在线 | 天天插伊人 | 在线之家官网 | 在线观看免费成人 | 欧美一区在线观看视频 | 亚洲精品在线网站 | 久久经典视频 | 久草影视在线 | 香蕉在线观看视频 | 丁香六月婷婷开心 | 天天爽天天爽天天爽 | 久久国语露脸国产精品电影 | 欧美aa级| 国产黄色免费看 | 精品自拍av| 一区二区三区高清在线观看 | 欧美日韩三区二区 | 国产最新视频在线观看 | 国产第一页在线播放 | 在线视频第一页 | 精品免费视频123区 午夜久久成人 | www.天天成人国产电影 | 久久五月精品 | 91最新在线 | 黄污网站在线观看 | 99在线免费视频观看 | 97在线视频免费观看 | 久久 在线 | 蜜臀av一区| 国产成人高清 | 天天se天天cao天天干 | 久久久穴| 国产精品亚州 | 婷婷成人在线 | 99精品免费久久久久久久久日本 | 国产精品综合av一区二区国产馆 | 精品二区视频 | 91av精品 | 免费在线观看av不卡 | 亚洲少妇久久 | 日韩理论电影网 | 天天躁日日躁狠狠躁 | 91精品在线播放 | 日韩免费在线观看视频 | 亚洲一级黄色大片 | 在线观看电影av | 福利电影一区二区 | 97视频亚洲| 天天操夜夜想 | 鲁一鲁影院 | 久久国产精品久久久久 | 日韩精品一区二区电影 | 中文字幕一区二区三区在线观看 | 亚洲一级免费电影 | 国产精品嫩草在线 | 在线国产91| 国产精品久久久久久999 | 中文字幕在线免费看 | 狠狠狠色丁香婷婷综合久久88 | 国产91亚洲 | 国产成人免费高清 | 九九色视频 | 日本爽妇网 | 国产区网址 | 久草国产在线 | 国产精品入口久久 | 久久你懂的 | 超碰97成人| 狠狠色狠狠色综合日日92 | 一区二区成人国产精品 | 美女视频a美女大全免费下载蜜臀 | 综合中文字幕 | 99999精品| 极品久久久 | 五月婷婷国产 | 久久国产精品免费看 | av大片免费在线观看 | 青草视频在线 | 四虎影视成人永久免费观看亚洲欧美 | 中文视频在线看 | 久久久久久久久久久精 | 亚洲九九精品 | 成人网在线免费视频 | 欧美精品在线视频 | 欧美日韩久久不卡 | 亚洲国产片 | 激情综合五月 | 免费a网站 | 日本韩国精品一区二区在线观看 | 伊人宗合网 | 日韩中文字幕免费在线观看 | 久久夜夜爽 | 日韩免费一区二区三区 | 少妇高潮流白浆在线观看 | 国产精品九九热 | 国内视频| 天天操夜夜摸 | 久久久wwww| av看片网址 | 久草手机视频 | a√资源在线 | 免费视频 三区 | 国产一区二区三区在线免费观看 | 久久综合久久综合这里只有精品 | 日韩在线观 | 美女黄视频免费看 | 日韩精品不卡在线 | 鲁一鲁影院 | 国产99久| av品善网| 久久精品视频播放 | 黄色资源在线 | 91久久久久久国产精品 | 一区二区三区在线观看免费视频 | 免费在线看v | 欧美日韩高清一区二区 | 中文字幕av全部资源www中文字幕在线观看 | 99久久精品国产系列 | 欧美国产一区二区 | 久久亚洲综合国产精品99麻豆的功能介绍 | 操操日| 亚洲最快最全在线视频 | 日韩中文在线播放 | 东方av免费在线观看 | 九九热在线视频 | 天天射天天爱天天干 | 亚洲理论片在线观看 | 丁香午夜 | 国产精品久久久久aaaa九色 | 天天干夜夜干 | 91片黄在线观看 | 国产一级大片免费看 | 国产精品久久麻豆 | 伊人久久在线观看 | 国产一二三在线视频 | 久久综合五月天婷婷伊人 | 国产精品原创在线 | 人人澡人摸人人添学生av | 51精品国自产在线 | 久久久网 | 五月天com | 国产高清久久 | 91精品国产乱码在线观看 | 99精品福利 | 国产精品久久久久久久久久久免费 | 久久精品视频观看 | 九九爱免费视频在线观看 | 美女网站色 | 亚洲国产精品久久久久婷婷884 | 人人澡超碰碰97碰碰碰软件 | 在线免费观看羞羞视频 | 九九热精 | 久久精品视频4 | 国产高清一区二区 | av在线成人 | 久久午夜视频 | 亚洲人在线7777777精品 | 九九九九九精品 | 欧美国产日韩一区二区三区 | 亚洲影视资源 | 在线视频在线观看 | 色999在线 | 亚洲人人av | 最近更新中文字幕 | 日韩欧美视频免费在线观看 | 一区二区视频在线播放 | 亚洲永久精品国产 | 欧美a在线看 | 欧美一进一出抽搐大尺度视频 | 国产精品久久久久国产精品日日 | 久久都是精品 | 最近中文字幕视频完整版 | 一区二区三区精品在线视频 | 91丨九色丨高潮 | 免费电影一区二区三区 | www91在线观看| 色婷婷狠| 久久亚洲国产精品 | 高清中文字幕 | 一区二区不卡高清 | 91女人18片女毛片60分钟 | 91av影视 | 中文字幕一区三区 | 久久久久久久久久久久久9999 | 丁香六月久久综合狠狠色 | 精品久久久99 | 国产精品视频永久免费播放 | 亚洲国产剧情av | 伊人夜夜| 在线视频亚洲 | 国产区av在线 | 三级小视频在线观看 | 麻豆视频在线播放 | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 五月天综合色激情 | 激情深爱.com| 日韩高清不卡在线 | 天天插日日插 | 国产91精品在线观看 | 日韩电影精品 | 中文字幕免费高清 | 97国产在线播放 | 91在线影院 | 99性视频 | 九九久久国产 | 99热在线看| 色婷婷九月 | 91成人在线免费观看 | 国产免费大片 | 天天干天天操天天搞 | 最新国产福利 | 成人在线超碰 | 国产精品成人一区二区 | 又黄又爽的免费高潮视频 | 99综合影院在线 | 午夜电影久久 | 久久久免费精品 | 天天色婷婷 | 韩国av不卡 | 久久视频二区 | 久久99国产精品免费 | 国产视频 亚洲视频 | 在线免费观看视频你懂的 | 亚洲一区不卡视频 | 国产精品一区二区三区在线播放 | 色中色资源站 | 九九久久久 | 欧美午夜性生活 | 精品国产一区二区三区男人吃奶 | 69精品视频在线观看 | 日韩欧美一区二区三区黑寡妇 | 黄色在线小网站 | 精品一区二区三区在线播放 | 久久久久国产a免费观看rela | 狠狠色丁婷婷日日 | 国产精品99久久久 | 开心色插| 国产高清视频免费最新在线 | 日韩www在线 | 久久久免费看视频 | 日本免费久久高清视频 | 黄污网 | www婷婷| 国产精品一区二区你懂的 | 久久综合国产伦精品免费 | 亚洲免费在线观看视频 | 麻豆传媒视频在线播放 | 日本不卡视频 | 成人免费在线观看av | 国内精品久久影院 | 欧亚日韩精品一区二区在线 | 97精品伊人 | 99热这里精品 | 日韩影视在线 | 欧美专区日韩专区 | 91完整视频 | 黄色的片子 | 久久精品国产成人 | 中文一区在线观看 | 成人a视频 | 国内精品在线看 | 精品在线观看视频 | 五月天视频网站 | 天天综合网国产 | 在线视频一区观看 | 中文字幕丝袜一区二区 | 亚洲国产片 | 国产美女免费视频 | 手机av片| 免费人成网ww44kk44 | 中文字幕在线影院 | 免费看91的网站 | 亚洲激情综合网 | 激情久久久 | 亚洲 欧美 精品 | 99久久精品国产亚洲 | 91毛片视频 | 国产91免费看 | 国产一区二区不卡视频 | 99九九免费视频 | 九九激情视频 | 国际精品久久久久 | 国产日韩av在线 | 亚洲经典在线 | 91精品一区二区三区久久久久久 | 毛片二区 | 久久久免费 | 麻豆激情电影 | 久久成年视频 | 91精品国产综合久久福利 | 色网址99 | 国产精品涩涩屋www在线观看 | 国产一区免费视频 | 天天夜夜狠狠操 | 热久久免费视频 | 国产日女人 | 日韩理论电影在线 | 亚洲国产wwwccc36天堂 | 99久久精品免费看国产一区二区三区 | 日韩一级电影网站 | 欧美成年人在线观看 | 中文字幕亚洲精品在线观看 | 欧美黄色成人 | 亚洲天堂香蕉 | 私人av| 一区二区久久 | 久久久久久久久久免费 | 婷婷六月综合亚洲 | 天天干天天天天 | 99在线播放 | 亚洲激情电影在线 | 欧美成人区| 四虎影视精品 | 国产一区在线视频观看 | 久久免费视频在线 | 97人人模人人爽人人喊网 | 99精品乱码国产在线观看 | 国产一级精品绿帽视频 | 992tv人人网tv亚洲精品 | 91福利视频免费观看 | 日本资源中文字幕在线 | 91黄色视屏 | 日本婷婷色 | 久久久综合香蕉尹人综合网 | 国产成人精品一区二三区 | 69精品在线 | 黄色影院在线免费观看 | 香蕉视频久久 | 婷婷丁香视频 | 超碰人人在 | 日韩av中文字幕在线免费观看 | 国产男男gay做爰 | 2022国产精品视频 | 国产精品永久免费在线 | 精品国产一区二区三区四区vr | 黄色网址中文字幕 | 在线免费观看黄色 | 九九视频免费观看视频精品 | 在线观看色网 | 久久99精品国产 | 又黄又爽又无遮挡免费的网站 | 免费日韩三级 | 日本一区二区三区免费观看 | 日本中文字幕在线 | 精品国内自产拍在线观看视频 | 国产视频不卡一区 | 337p日本欧洲亚洲大胆裸体艺术 | 亚洲精品美女在线观看播放 | 国产精品精品国产婷婷这里av | av在线播放亚洲 | 久久在线观看视频 | 亚洲国产精品免费 | 欧美一级久久久 | 天天爽天天爽 | 91热这里只有精品 | 亚洲1区在线 | 欧美在线观看视频一区二区三区 | 中文字幕黄网 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 91porny九色在线播放 | 国产精品一区二区免费在线观看 | 欧美色图狠狠干 | 成人午夜电影久久影院 | 午夜精品久久久久 | 国产成人免费观看 | 96av麻豆蜜桃一区二区 | 久草视频免费 | 中文字幕中文字幕 | 婷婷 综合 色 | 午夜久草 | 欧美性大战久久久久 | 国产精品亚洲片在线播放 | 亚洲国产剧情 | 色姑娘综合天天 | 亚洲精品视频在 | 韩国av在线播放 | 干综合网 | 婷婷精品在线视频 | 在线观看视频精品 | 久久国产精品99久久久久久老狼 | 九九热只有这里有精品 | av免费在线播放 | 天天干夜夜爱 | 国产精品久久久999 国产91九色视频 | 狠狠狠色狠狠色综合 | 伊人影院得得 | 狠狠色丁香婷婷综合久小说久 | 久久久久免费精品 | 亚洲在线精品 | 亚洲aⅴ一区二区三区 | 国产精品一区二区在线观看 | 欧美一区在线观看视频 | 欧美精选一区二区三区 | 久久99国产综合精品 | 免费精品国产 | 狠狠躁天天躁综合网 | 国产精品成人aaaaa网站 | 欧美日韩在线观看视频 | 国产高清免费 | 日韩欧美在线观看一区二区三区 | 超碰免费观看 | 国模一二三区 | 天天干天天摸天天操 | 91成人欧美| 精品 一区 在线 | 国产亚洲精品久久久久久久久久久久 | 久久99精品久久久久久秒播蜜臀 | 中文字幕专区高清在线观看 | 欧美一级在线观看视频 | 亚洲精品色婷婷 | 亚洲精品视频偷拍 | 992tv又爽又黄的免费视频 | 欧美一区二区精品在线 | 日韩欧美一区二区三区视频 | 国产91aaa | 色综合天天| 天天碰天天操视频 | 日韩电影久久久 | 99在线精品视频在线观看 | 天天射射天天 | 在线观看亚洲精品视频 | 亚洲 欧美 变态 国产 另类 | 国产成人av福利 | 天天操天天干天天 | 视频二区在线视频 | 黄色一级片视频 | 日韩久久久久久久 | 亚洲永久精品视频 | 少妇视频一区 | 天天干干| 精品99久久| 久久伊人国产精品 | 国产九九九视频 | 久久精品久久精品久久精品 | 九九免费视频 | 国产精品久久久久久久电影 | 亚洲aaa级| 在线观看完整版免费 | 91视频91自拍 | 99视频99| 国产69精品久久久久9999apgf | 91精品专区 | 亚洲色综合 | 久久久久99精品成人片三人毛片 | 免费网站色 | 一级黄色片在线播放 | 亚州五月| 亚洲精品视频网址 | 99热超碰| www.久草.com| 日韩a欧美 | 91久久人澡人人添人人爽欧美 | 特黄特色特刺激视频免费播放 | 欧美日产在线观看 | 国产精品自产拍在线观看网站 | 青青草国产免费 | 麻豆成人小视频 | 欧美激情视频一二三区 | 丰满少妇一级 | 久久成人国产精品 | 久一在线 | 久草免费在线视频 | 国产精品九九九九九 | 亚洲国产资源 | 美女免费视频一区 | www.av免费| 探花视频在线版播放免费观看 | 91一区一区三区 | 美女视频免费精品 | av在观看| www天天操| 91尤物在线播放 | 色五月色开心色婷婷色丁香 | 久久av伊人 | www亚洲国产 | 91人人干 | 激情综合网天天干 | 亚洲一区不卡视频 | 久久久久久久18 | 久久精品91久久久久久再现 | 中文字幕色婷婷在线视频 | 色婷婷天天干 | 国产精品免费久久久久影院仙踪林 | 少妇av网| 日韩网站中文字幕 | 国产精品第一页在线 | 日本三级吹潮在线 | 亚洲视频2 | 伊人影院99| 成人一区二区三区在线 | 亚洲理论在线观看 | 国产二区免费视频 | 色综合色综合久久综合频道88 | 天天爽综合网 | 天天天干天天天操 | 日韩欧美网站 | 久久国产精品久久精品国产演员表 | 欧美激情精品久久久久久免费印度 | 综合色在线观看 | 香蕉视频国产在线 | 亚洲播放一区 | 久久影视精品 | 人人舔人人爽 | 国产成人免费网站 | 在线国产精品视频 | 亚洲专区欧美专区 | 亚洲国产精久久久久久久 | 日本aaaa级毛片在线看 | 男女视频91 | 国产精品成久久久久 | 丁香伊人网| 国产亚洲精品久久久久秋 | 久久综合中文色婷婷 | 国产护士hd高朝护士1 | 激情综合久久 | 欧美一级免费黄色片 | 成年人黄色在线观看 | 国产.精品.日韩.另类.中文.在线.播放 | 91麻豆精品国产91 | 国产一级二级av | 丝袜精品视频 | 人人爽人人片 | 亚洲综合少妇 | 久久成人黄色 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 日韩区视频 | 在线观看日本高清mv视频 | 高清av免费一区中文字幕 | 日韩在线欧美在线 | 又紧又大又爽精品一区二区 | www免费在线观看 | 日本高清免费中文字幕 | 国产在线国偷精品产拍 | 国产精品久久一卡二卡 | 天天爽人人爽夜夜爽 | 日韩精品一区二区三区中文字幕 | 中文字幕免费高清 | 国产综合在线观看视频 | 00av视频 | 久久麻豆精品 | 色资源网在线观看 | 日日操网| 久草色在线观看 | 国产一区二区三区免费观看视频 | 久久免费视频在线观看 | 欧美极度另类性三渗透 | 中文在线资源 | 人人精品 | 人成电影网 | 国产无限资源在线观看 | 欧美午夜a | 三级黄色在线观看 | 808电影免费观看三年 | 婷婷网址| 狠狠色丁香婷婷综合视频 | 免费十分钟 | 97在线观看| 91丨九色丨蝌蚪丨对白 | 国产精品免费在线视频 | av不卡网站 | 久久99亚洲精品久久久久 | 97在线观看免费高清完整版在线观看 | 亚洲国产精品99久久久久久久久 | 成人在线视频网 | 久久综合干 | 中文字幕在线观看国产 | 在线a亚洲视频播放在线观看 | 婷婷色伊人 | 天天夜夜操 | 992tv在线观看网站 | 狠狠的日| 国产成人性色生活片 | 国产不卡在线观看 | 亚洲视频久久久久 | 在线有码中文字幕 | 久久综合精品国产一区二区三区 | av视屏在线播放 | 欧美日韩免费一区 | 成人影音在线 | 蜜臀av性久久久久蜜臀av | 欧美激情第八页 | av免费观看在线 | 欧洲一区精品 | 国产精品久久久久影院 | www.天天操.com | 九九热精品视频在线播放 | 国产精品福利午夜在线观看 | 国产精品一区久久久久 | 亚洲综合色av | 国产视频网站在线观看 | 天天狠狠 | 免费三级黄色 | 麻豆成人精品 | 免费高清男女打扑克视频 | 日韩av资源站 | 日本精品一二区 | 我要看黄色一级片 | 91中文视频| 亚洲视频axxx | 国产精品专区在线观看 | 1024久久| 国产精品麻豆99久久久久久 | 91精品国产欧美一区二区成人 | www国产一区 | 国产护士在线 | 91丨九色丨国产丨porny精品 | 五月婷婷,六月丁香 | 成人av电影在线观看 | 久久中文精品视频 | 五月天精品视频 | 一区二区三区av在线 | 国产一区欧美二区 | 久久色网站 | 69视频在线| www.com久久| 日本免费久久高清视频 | 黄污网站在线观看 | 国产精品视频免费看 | 亚洲国产福利视频 | 91看片在线播放 | 九九视频网站 | 国产高清在线永久 | 国产精品一区在线观看你懂的 | 91传媒免费观看 | 国产精品久久久久久欧美 | 国产精品18久久久久久不卡孕妇 | 亚洲日本在线视频观看 | 91香蕉视频 | 日韩欧美视频一区二区三区 | 干干干操操操 | 国产一级二级三级在线观看 | 久久午夜精品视频 | 午夜精品一区二区三区在线观看 | 四虎天堂 | 色婷婷综合久色 | 免费av片在线 | 国产一区免费视频 | 精品久久福利 | 91成人精品一区在线播放 | 91av手机在线观看 | 久久成人国产精品入口 | 日韩三级免费 | 久久xxxx| 97精品在线视频 | 91大神精品视频在线观看 | 精品99免费视频 | 欧美日韩在线观看视频 | 久久久伊人网 | 日韩视频中文字幕 | 欧美性生活一级片 | 中文字幕免费成人 | 欧美日韩国产一区二区在线观看 | 久久亚洲欧美日韩精品专区 | 一区精品在线 | 91丨九色丨高潮丰满 | 亚洲综合色播 | 亚洲欧美成人网 | 成人亚洲综合 | 久青草国产在线 | 日韩免费一级电影 | 精品国产免费一区二区三区五区 | 在线观看国产一区 | 精品国产一区二区三区久久久久久 | 人人草在线观看 | 视频一区二区视频 | 91丨九色丨91啦蝌蚪老版 | 亚洲三级在线免费观看 | 国产成人精品亚洲日本在线观看 | 天天天天射 | 97在线观 | 久久99久久99精品 | 色天天中文| 精品不卡av | 99视频播放| 五月综合在线观看 | 国产一级黄 | 亚洲va欧美va人人爽春色影视 | 成人av片在线观看 | 天天天天爱天天躁 | 香蕉视频18 | 999久久久欧美日韩黑人 | 精品色999| 成年人视频在线 | 黄色成年网站 | 亚洲国产剧情av | 亚洲精品国产精品国产 | 久久精品国产免费看久久精品 | 欧美成人理伦片 | 欧美在一区 | 日韩影片在线观看 | 九九免费在线看完整版 | 日韩欧美高清一区二区 | 一级一片免费观看 | 免费在线国产黄色 | 激情综合六月 | av超碰在线| 亚洲精选视频免费看 | 91久久久久久久一区二区 | 婷婷丁香六月天 | 欧美精品久久99 | 久久艹免费 | av一区二区在线观看中文字幕 | 久久综合影院 | 亚洲成人高清在线 | 天天操天天怕 | 国产亚洲字幕 | 黄色网址中文字幕 | 成人免费看电影 | 婷婷久久五月 | 视频国产一区二区三区 | 欧美日韩一级视频 | 91麻豆精品国产 | 久久久夜色 | 在线观看视频中文字幕 | 一区二区视频在线观看免费 | 97精品国产91久久久久久久 | 国产在线视频一区二区三区 | 成人av在线直播 | 夜夜操天天 | 国产精品综合久久 | 99久久99久久精品免费 | 91免费视频国产 | 超碰在线色 | 最近中文字幕 | 亚洲资源| 久久成人18免费网站 | 久草久草视频 | 国产在线传媒 | av一级片在线观看 | 国产一级二级三级视频 | 99在线视频播放 | 欧美一级片播放 | 国产午夜精品免费一区二区三区视频 | 四虎成人网 | 久久狠狠婷婷 | 久久综合中文字幕 | 免费黄色av电影 | 日韩激情片在线观看 | 午夜精品久久久久久 | 久久免费电影 | 国产精品九九视频 | 国产亚洲欧美精品久久久久久 | 九九久久久久久久久激情 | 国产精品毛片久久久 | 在线中文字幕电影 | 免费又黄又爽视频 | 久久人人爽爽 | 91桃色视频| 日日夜日日干 | 亚洲免费国产 | 中文字幕亚洲在线观看 | 国产无遮挡又黄又爽馒头漫画 | 69视频在线播放 | av日韩在线网站 | 999久久久久 | 91成人小视频 | 日韩欧美高清在线观看 | 久久久午夜电影 | 亚洲精品午夜国产va久久成人 | 91精品国产一区二区三区 | 亚洲国产视频a | 久久热首页 | 婷婷亚洲综合五月天小说 | 成人91视频| 精选久久 | 久久久久五月天 | 最新日本中文字幕 | 久久天堂影院 | 精品国产久 | 国产精品久久久久久久久久久久久 | 天天射夜夜爽 | 国产手机视频在线播放 | 亚洲欧美色婷婷 | 国产精品欧美一区二区三区不卡 | 国产一区在线观看免费 | 在线视频18在线视频4k | 中文字幕一区在线观看视频 | 国产区欧美 | 国产看片网站 | 国产a级精品 | 久久精品视频播放 | 欧美另类色图 | 91视频链接| 国产亚洲精品久久网站 | 天天操天天操一操 | 丝袜制服综合网 | 高清精品在线 | av在线观 | 日本中文字幕网站 | 在线免费观看黄色大片 | 超碰免费成人 | 最近免费在线观看 | 麻豆小视频在线观看 | 亚洲免费公开视频 | 五月天av在线 | 毛片一区二区 | av在线免费播放 | 国产精品视频不卡 | 天天射天天舔天天干 | 蜜臀av.com| 色噜噜日韩精品一区二区三区视频 | 国产在线精品区 | 超碰久热 | 色老板在线视频 | 日韩视频免费在线观看 | 91精品视频观看 | 欧美日韩精品在线播放 | 亚洲精品玖玖玖av在线看 | 六月激情丁香 | 久草在线国产 | 国产精品青草综合久久久久99 | 精品久久久免费视频 | 久久久久久久久久久久久9999 | 五月天久久激情 | 久久久久久久久久久久久久av | 人人澡人人模 | 日韩色在线观看 | 色视频一区 | 亚洲欧美激情精品一区二区 | 国产精品久久久久久久久久久久久 | 91精品国产91热久久久做人人 | 91九色在线 | 成人午夜影视 | 亚洲不卡av一区二区三区 | 国产网站色 | 亚洲免费小视频 | 四虎影视精品永久在线观看 | 在线视频观看你懂的 | 私人av| 国产成人一区二区三区免费看 | 国产高清视频在线观看 | 亚洲专区视频在线观看 | 国产精品视频久久久 | 国产又粗又猛又爽又黄的视频免费 | 国产a国产a国产a | 精品国产成人av在线免 | 毛片3| 久久色中文字幕 | a视频免费在线观看 | 精品视频久久 | 国产精品99久久久久久小说 | 黄色一级免费网站 | 97超碰人人澡人人爱学生 | 精品在线观 | 91最新国产| 成人av高清在线观看 | 激情图片qvod | 五月天激情综合 | 91丨九色丨蝌蚪丨对白 | 一区免费观看 | 国产无套视频 | 久久69精品 | 国产视频在线播放 | 西西444www大胆高清视频 | 欧美a影视 | 国内亚洲精品 | 免费看黄网站在线 | 免费在线观看av不卡 | 日日夜夜天天综合 | 免费看一级特黄a大片 | 日本久久久亚洲精品 | 国产精品视频地址 | 国产精品成人一区二区三区吃奶 | 青青久草在线视频 | 国产视频美女 | 免费在线观看视频一区 | 久久午夜羞羞影院 | 日韩毛片在线一区二区毛片 | 亚洲午夜av久久乱码 | av不卡网站 | 国产手机在线精品 | 欧美精品久久久久久久久久白贞 | 在线播放精品一区二区三区 | 国产一级视屏 | av怡红院 | 干干日日 | 精品免费久久久久 | 五月天天在线 | 国内精自线一二区永久 | 亚洲视频1 | 99久精品 | 久草五月| 亚洲毛片一区二区三区 | 精品国产免费一区二区三区五区 | 亚洲精品黄色 | 国产伦精品一区二区三区无广告 | 在线观看成人网 | 色综合久久久久久中文网 | 国产精品久久久久久久久久久久午夜 | 午夜美女福利直播 | 亚洲综合色站 | 97人人模人人爽人人少妇 | 成人一级在线 | 日韩欧美综合视频 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 中文av在线天堂 | 黄色特级毛片 | 91亚洲精品久久久中文字幕 | 国产日产av | 天天射成人| 国产精品久久久久永久免费看 | 999久久久 | 黄色一级在线视频 | 水蜜桃亚洲一二三四在线 | 国产亚洲精品久久久久久网站 | 一二区电影 | 国语对白少妇爽91 | 国产看片免费 | 国产福利一区二区在线 | 国产在线观看你懂得 | 天天射天天操天天干 | 精品视频网站 | 久久国产精品免费 | 激情视频网页 | 国产一区二区三区 在线 | 日韩av手机在线看 | 中文字幕高清在线 | 韩国一区二区在线观看 | 国产99久久精品一区二区永久免费 | 国产黄网站在线观看 | 国产精品理论片在线观看 | 国产在线播放一区 | 亚洲免费观看视频 | 少妇高潮冒白浆 | 亚洲三区在线 | 91大神在线观看视频 | 就色干综合 | 99精品小视频 | 在线观看日韩精品 | 九九视频一区 | 天天摸日日摸人人看 | av中文字幕免费在线观看 | 99热99re6国产在线播放 | 国内久久视频 | 久久精品免费观看 | 在线免费观看亚洲视频 |