正態性檢驗python - CSDN

2020-12-03 CSDN技術社區

  • 描述性統計
  • 頻數分布圖
  • 正態分布檢驗
  • 概率密度曲線擬合

#單個項目數據分析

from scipy.stats import chi2 from scipy.stats import norm from scipy.stats import t from scipy.stats import f import matplotlib.pyplot as pltimport numpy as npimport pandas as pdimport scipy.stats as statsfrom scipy.stats import chi2_contingency plt.figure()train = pd.read_csv("test.csv")train_Age = train.dropna(subset=['p1'])M_S = stats.norm.fit(train_Age['p1']) plt.hist(train_Age['p1'],bins=30, normed=1, facecolor='blue', alpha=0.5) train_Age['p1'].plot(kind='kde',secondary_y=True) normalDistribution = stats.norm(M_S[0], M_S[1]) x = np.linspace(normalDistribution.ppf(0.01), normalDistribution.ppf(0.99), 100)plt.plot(x, normalDistribution.pdf(x), c='orange')plt.xlabel('reqirement time')plt.title('reqirement time on NormalDistribution', size=20)plt.legend(['Origin', 'NormDistribution'])from scipy import integratefor n in range(0,400,1): x=np.linspace(0,n,1000) y=normalDistribution.pdf(x) p=integrate.trapz(y, x) if p>0.8: print (n) break

#多個項目批量輸出分析結果

from scipy.stats import chi2 from scipy.stats import norm from scipy.stats import t from scipy.stats import f import matplotlib.pyplot as pltimport numpy as npimport pandas as pdimport scipy.stats as statsfrom scipy.stats import chi2_contingency from scipy import integratefrom scipy.stats import kstest from statsmodels.stats.diagnostic import lilliforstrain = pd.read_csv("test.csv")fig = plt.figure(figsize=(16, 16))projects_index = ['p1', 'p2', 'p3', 'p4','p5', 'p6', 'p7', 'p8','p9', 'p10', 'p11', 'p12', 'p14', 'p15', 'p16', 'p17', 'p18','p19', 'p20', 'p21', 'p22', 'p23', 'p24','p25', 'p26', 'p27', 'p28','p29', 'p30', 'p31', 'p32', 'p33', 'p34','p35', 'p36', 'p38', 'p40', 'p41', 'p42', 'p43', 'p45', 'p46' ]count=0Req_Leadtime = pd.DataFrame(columns=('項目名稱','有效需求總數','平均值','中位數','眾數','標準差','p值','需求交付周期閾值')) for index in projects_index: count+=1 print(index) train_time = train.dropna(subset=[index]) M_S = stats.norm.fit(train_time[index]) plt.hist(train_time[index],bins=30, normed=1, facecolor='blue', alpha=0.5) train_time[index].plot(kind='kde',secondary_y=True) normalDistribution = stats.norm(M_S[0], M_S[1]) x = np.linspace(normalDistribution.ppf(0.01), normalDistribution.ppf(0.99), 100) plt.plot(x, normalDistribution.pdf(x), c='orange') avg_leadtime = np.mean(train_time[index]) med_leadtime = np.median(train_time[index]) mode_leadtime = stats.mode(train_time[index])[0][0] std_leadtime = np.std(train_time[index], ddof=1) if len(train_time[index])<8: p = -1 else: if len(train_time[index])<50: q,p = stats.normaltest(train_time[index]) else: if 50<=(len(train_time[index]))<=300: q,p = kstest(train_time[index], 'norm') else: q,p = kstest(train_time[index], 'norm') print(p) for n in range(0,400,1): x=np.linspace(0,n,1000) y=normalDistribution.pdf(x) h=integrate.trapz(y, x) if h>0.8: print (n) break valid_req_counts = len(train_time[index]) req_leadtime_avg = avg_leadtime req_leadtime_med = med_leadtime req_leadtime_mode = mode_leadtime req_leadtime_std = std_leadtime req_leadtime_p = p req_leadtime_ref = n Req_Leadtime = Req_Leadtime.append(pd.DataFrame({'項目名稱':[index], '有效需求總數':[valid_req_counts], '平均值':[req_leadtime_avg], '中位數':[req_leadtime_med], '眾數':[req_leadtime_mode], '標準差':[req_leadtime_std], 'p值':[req_leadtime_p], '需求交付周期閾值':[req_leadtime_ref]}),ignore_index=True) print(req_leadtime_p,p) plt.xlabel('Req leadtime') plt.title("(%s) Req_leadtime on NormalDistribution, p = %10.3 f, Req_leadtime_req = %d" %(index,p,n),fontsize=20) plt.legend(['Origin', 'NormDistribution']) plt.savefig("image/'" + index + "'.png") plt.clf()print(Req_Leadtime)Req_Leadtime.to_excel('Req_Leadtime.xlsx', encoding='utf-8', index=True, header=True)

相關焦點

  • 所有的正態性檢驗方法都在這裡
    接下來介紹最齊全的正態性檢驗方法:偏度和峰度,圖示法,非參數檢驗一、偏度和峰度1、偏度(Skewness):描述數據分布不對稱的方向及其程度。當峰度≈0時,可認為分布近似服從正態分布;當峰度>0時,分布的峰態陡峭;當峰度<0時,分布的峰態平緩;利用偏度和峰度進行正態性檢驗時,可以同時計算其相應的Z評分(Z-score),即:偏度:Z-score=偏度值/標準誤峰度:Z-score=峰度值/標準誤在α=0.05的檢驗水平下
  • 正態性檢驗方法(三)
    在前面文章中我們學習了用探索性分析、K-S檢驗方法進行正態性檢驗。本文將講解如何用偏度和峰度係數以及P-P圖和Q-Q圖進行正態性檢驗。回顧一下峰度和偏度的概念。峰度(Kurtosis)反映了頻數分布曲線頂端的尖峭或扁平程度。當樣本數據的分布符合正態分布時,峰度係數K為0。
  • 檢驗k的方法 - CSDN
    在對數據建模前需要做數據探索,比如做特徵相關性的時候,經常會用到假設檢驗,很多時候我們需要對數據做正態性檢驗,進而通過檢驗結果確定下一步的分析方案。下面介紹 Python 中常用的幾種正態性檢驗方法:scipy.stats.kstest(K-S檢驗)kstest 是一個很強大的檢驗模塊,除了正態性檢驗,還能檢驗 scipy.stats 中的其他數據分布類型,僅適用於連續分布的檢驗,原假設:數據符合正態分布kstest(rvs, cdf, args=(), N=20, alternative
  • python卡方檢驗 - CSDN
    卡方檢驗可以用於判斷兩個類別變量的相關性是否顯著。在分類的應用場景中可以用卡方檢驗選擇特徵,特徵與目標變量的相關性越顯著說明特徵越重要,預測力越強。      一、先簡單介紹一下卡方檢驗的步驟。假設y為目標變量,取值為好和壞,x為特徵變量取值為高、中、低。
  • python 卡方檢驗專題及常見問題 - CSDN
    卡方檢驗可以用於判斷兩個類別變量的相關性是否顯著。在分類的應用場景中可以用卡方檢驗選擇特徵,特徵與目標變量的相關性越顯著說明特徵越重要,預測力越強。      一、先簡單介紹一下卡方檢驗的步驟。假設y為目標變量,取值為好和壞,x為特徵變量取值為高、中、低。
  • SPSS中的正態性檢驗之二:計算法
    ,這一節,我們介紹用計算法來檢驗樣本的正態分布性。二、Kolmogorov-Smirnov檢驗與Shapiro-Wilk檢驗Kolmogorov-Smirnov檢驗是一種非參數檢驗方法,可以對單樣本的擬合優度進行檢驗,推斷樣本是否來自正態分布總體、均勻分布總體或Poisson分布總體等,其特點是速度快,便於計算機實現。一般適用於大樣本。
  • python時間序列平穩性檢驗專題及常見問題 - CSDN
    在做時間序列分析時,我們經常要對時間序列進行平穩性檢驗,而我們常用的軟體是SPSS或SAS,但實際上python也可以用來做平穩性檢驗,而且效果也非常好,今天筆者就講解一下如何用python來做時間序列的平穩性檢驗。首先我們還是來簡單介紹一下平穩性檢驗的相關概念。圖1.
  • 顯著性檢驗的計算 - CSDN
    根據不同適用條件,常用的統計方法有:兩配對樣本的t檢驗、兩配對樣本的非參數檢驗(如Wilcoxon符號秩檢驗)、配對卡方檢驗(McNemar)。【1】兩配對樣本的t檢驗其本質是兩配對樣本的差值與0的比較。跟兩獨立樣本的t檢驗一樣,兩配對樣本的t檢驗用到的函數也是t.test {stats}。
  • t檢驗中t值的意義 - CSDN
    顯著性檢驗是針對我們對總體所做的假設做檢驗,其原理就是「小概率事件實際不可能性原理」來接受或否定假設。下文簡述各種差異性檢驗思想(兩組樣本差異),同時結合scipy.stats文檔中的描述進行python實踐。
  • 利用python做t檢驗
    T檢驗:使用前提:
  • python平穩性檢驗專題及常見問題 - CSDN
    (4)檢驗模型的有效性。如果模型不通過檢驗,轉向步驟(2),重新選擇模型再擬合。(5)模型優化。如果擬合模型通過檢驗,仍然轉向不走(2),充分考慮各種情況,建立多個擬合模型,從所有通過檢驗的擬合模型中選擇最優模型。(6)利用擬合模型,預測序列的將來走勢。
  • 一文看懂spss-獨立樣本t檢驗,非參數檢驗
    首先對數據進行正態性檢驗,符合正態性的使用獨立樣本t檢驗;不符合正態性地使用非參數秩和檢驗。將數據導入spss中,首先正態性檢驗。分析--描述統計--探索,將指標全部放進因變量列表裡,將組放進因子列表裡,單擊 圖 ,勾選含檢驗的正態圖--繼續--確定。輸出結果,看正態性檢驗。一般情況下(樣本量比較少)看夏皮諾威爾克檢驗結果。
  • 平穩性檢驗結果分析專題及常見問題 - CSDN
    平穩性檢驗對於一個時間序列,我們如何處理呢?1 檢驗序列是否平穩性序列2 如果序列非平穩,通過數學變換為平穩性序列3 檢驗序列是否白噪聲4 下一步平穩性檢驗常用方法有ADF檢驗和KPSS檢驗。這裡以Python為例:#pythonimport numpy as npfrom statsmodels.tsa.stattools import adfullerss = np.random.randn(10000)adfuller(ss)#(-100.04436307924058,#
  • t檢驗 方差分析 - CSDN
    一.T檢驗1.T檢驗分類T檢驗是通過比較不同數據的均值,研究兩組數據之間是否存在顯著差異。單總體檢驗:單總體t檢驗是檢驗一個樣本平均數與一個已知的總體平均數的差異是否顯著。當總體分布是正態分布,如總體標準差未知且樣本容量小於30,那麼樣本平均數與總體平均數的離差統計量呈t分布。
  • python 卡方專題及常見問題 - CSDN
    卡方檢驗是一種用途很廣的計數資料的假設檢驗方法。它屬於非參數檢驗的範疇,主要是比較兩個及兩個以上樣本率( 構成比)以及兩個分類變量的關聯性分析。其根本思想就是在於比較理論頻數和實際頻數的吻合程度或擬合優度問題。
  • kappa一致性檢驗教程 - CSDN
    Cohen於1960年提出Kappa分析,Kappa係數是一個用於一致性檢驗的指標,在考慮了機遇因素對診斷結果一致性的影響。二、軟體操作數據準備下面我們通過一組模擬數據來進行演示。某醫生用a、b兩種方法診斷結石,想檢驗這兩種方法的診斷結果是否一致,此時需要用Kappa一致性檢驗。
  • r語言 t檢驗 假設 - CSDN
    假設檢驗 -T檢驗 -F檢驗 -卡方檢驗 -正太性檢驗T檢驗2兩樣本的T檢驗 -有原始數據的獨立兩樣本T檢測 -有原始數據的配對T檢測 實例如下: Wage 數據中大學學歷的收入和中學一樣嗎
  • 卡方檢驗結果分析專題及常見問題 - CSDN
    R語言卡方檢驗與結果可視化1,卡方分析簡介與實例2,R語言chisq.test()3,基於ggstatsplot包的可視化分析卡方分析簡介與實例:卡方檢驗是生物學中應用很廣的一種假設檢驗,可以通過對構成比,率進行檢驗,進而判斷分類資料間的偏差程度。
  • python卡方分析專題及常見問題 - CSDN
    卡方檢驗是一種用途很廣的計數資料的假設檢驗方法。它屬於非參數檢驗的範疇,主要是比較兩個及兩個以上樣本率( 構成比)以及兩個分類變量的關聯性分析。其根本思想就是在於比較理論頻數和實際頻數的吻合程度或擬合優度問題。
  • python 檢驗方差齊性 - CSDN
    ②雙樣本t檢驗:一個二分分類變量與一個連續變量間的關係。本次介紹:方差分析:一個多分類分類變量與一個連續變量間的關係。其中分類個數大於兩個,分類變量也可以有多個。當分類變量為多個時,對分類個數不做要求,即可以為二分分類變量。/ 01 / 數理統計技術數理統計分為頻率和貝葉斯兩大學派。