版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Python大數(shù)據(jù)分析算法實(shí)例目錄TOC\o"1-1"\h\u291971.1描述統(tǒng)計(jì) 3135261.2假設(shè)檢驗(yàn) 9276591.3信度分析 14327481.4列聯(lián)表分析 17120921.5相關(guān)分析 18230761.6方差分析 204681.7回歸分析 26227161.8聚類分析 31216451.9判別分析 36246251.10主成分分析 41322411.11因子分析 44268441.12時(shí)間序列分析 4723091.13生存分析 50157391.14典型相關(guān)分析 75312851.15RoC分析 81109801.16距離分析 86175821.17對(duì)應(yīng)分析 9647291.18決策樹分析 98152481.19神經(jīng)網(wǎng)絡(luò)—深度學(xué)習(xí) 10474451.20蒙特·卡羅模擬 114260081.21關(guān)聯(lián)規(guī)則 124313701.22UpliftModeling 14238911.23集成方法 147148261.24異常檢測 15456621.25文本挖掘 158269241.26Boosting算法(提升法和GradientBoosting) 1667571.27總結(jié)結(jié) 170Python是現(xiàn)在最受歡迎的動(dòng)態(tài)編程語言之一(還有Perl、Ruby等)。Python不但擁有歷史和文化的原因,Python發(fā)展出了一個(gè)巨大而活躍的科學(xué)計(jì)算(ScientificComputing)社區(qū)。在過去的10年,Python從一個(gè)邊緣或“自擔(dān)風(fēng)險(xiǎn)”的科學(xué)計(jì)算語言成為數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)、學(xué)界和工業(yè)界軟件開發(fā)最重要的語言之一。數(shù)據(jù)分析與可視化是指對(duì)數(shù)據(jù)進(jìn)行控制、處理、整理、分析的過程。數(shù)據(jù)分析和建模大部分時(shí)間都用在數(shù)據(jù)準(zhǔn)備上,數(shù)據(jù)的準(zhǔn)備過程包括:加載、清理、轉(zhuǎn)換與重塑。本章主要講述基于Python的數(shù)據(jù)分析方法,盡量翔實(shí)地闡述Python數(shù)據(jù)分析方法的原理與實(shí)踐。描述統(tǒng)計(jì)統(tǒng)計(jì)學(xué)分為描述統(tǒng)計(jì)學(xué)和推斷統(tǒng)計(jì)學(xué)。描述統(tǒng)計(jì)學(xué)是使用特定的數(shù)字或圖表來體現(xiàn)數(shù)據(jù)的集中程度或離散程度,如平均數(shù)、中位數(shù)、眾數(shù)、方差、標(biāo)準(zhǔn)差;推斷統(tǒng)計(jì)學(xué)是根據(jù)樣本數(shù)據(jù)來推斷總體特征,如產(chǎn)品檢查,一般采用抽檢,根據(jù)所抽樣本的質(zhì)量合格率作為總體質(zhì)量合格率的一個(gè)估計(jì)。在數(shù)值分析的過程中,我們往往要計(jì)算出數(shù)據(jù)的統(tǒng)計(jì)特征,用來做科學(xué)計(jì)算的NumPy和SciPy工具可以滿足我們的需求。Matpotlib工具可用來繪制圖形,滿足圖分析的需求?;靖拍钆cPython中原生的List類型不同,NumPy中用ndarray類型來描述一組數(shù)據(jù):fromnumpyimportarrayfromnumpyimportarrayfromnumpy.randomimportnormal,randint#使用List來創(chuàng)造一組數(shù)據(jù)data=[1,2,3]#使用ndarray來創(chuàng)造一組數(shù)據(jù)data=array([1,2,3])#創(chuàng)造一組服從正態(tài)分布的定量數(shù)據(jù)data=normal(0,10,size=10)#創(chuàng)造一組服從均勻分布的定性數(shù)據(jù)data=randint(0,10,size=10)中心位置(均值、中位數(shù)、眾數(shù))數(shù)據(jù)的中心位置是我們最容易想到的數(shù)據(jù)特征。借由中心位置,我們可以知道數(shù)據(jù)的一個(gè)平均情況,如果要對(duì)新數(shù)據(jù)進(jìn)行預(yù)測,那么平均情況是非常直觀的選擇。數(shù)據(jù)的中心位置可分為均值(Mean)、中位數(shù)(Median)和眾數(shù)(Mode)。其中,均值和中位數(shù)用于定量的數(shù)據(jù),眾數(shù)用于定性的數(shù)據(jù)。對(duì)于定量數(shù)據(jù)來說,均值是總和除以總量(N),中位數(shù)是數(shù)值大小位于中間(奇偶總量處理不同)的值:均值相對(duì)中位數(shù)來說,包含的信息量更大,但是容易受異常的影響。使用NumPy計(jì)算均值與中位數(shù):fromnumpyimportmean,median#fromnumpyimportmean,median#計(jì)算均值mean(data)#計(jì)算中位數(shù)對(duì)于定性數(shù)據(jù)來說,眾數(shù)是出現(xiàn)次數(shù)最多的值,使用SciPy計(jì)算眾數(shù):fromscipy.statsimportmode#fromscipy.statsimportmode#計(jì)算眾數(shù)mode(data)發(fā)散程度(極差、方差、標(biāo)準(zhǔn)差、變異系數(shù))對(duì)數(shù)據(jù)的中心位置有所了解以后,一般我們會(huì)想知道數(shù)據(jù)以中心位置為標(biāo)準(zhǔn)有多發(fā)可用極差(PTP)、方差(Variance)、標(biāo)準(zhǔn)差(STD)、變異系數(shù)(CV)來衡量,它們的計(jì)算方法如下:標(biāo)準(zhǔn)差基于方差,但是與原始數(shù)據(jù)同量級(jí);變異系數(shù)基于標(biāo)準(zhǔn)差,但是進(jìn)行了無量綱處理。使用NumPy計(jì)算極差、方差、標(biāo)準(zhǔn)差和變異系數(shù):fromnumpyimportmean,ptp,var,std#fromnumpyimportmean,ptp,var,std#極差ptp(data)#方差var(data)#標(biāo)準(zhǔn)差std(data)#變異系數(shù)mean(data)/std(data)偏差程度(z-分?jǐn)?shù))之前提到均值容易受異常值影響,那么如何衡量偏差、偏差到多少算異常是兩個(gè)必須要解決的問題。定義z-分?jǐn)?shù)(Z-Score)為測量值距均值相差的標(biāo)準(zhǔn)差數(shù)目:當(dāng)標(biāo)準(zhǔn)差不為0且不為接近于0的數(shù)時(shí),z-分?jǐn)?shù)是有意義的,使用NumPy計(jì)算z-分?jǐn)?shù):fromnumpyimportmean,std#fromnumpyimportmean,std#計(jì)算第一個(gè)值的z-分?jǐn)?shù)(data[0]-mean(data))/std(data)相關(guān)程度有兩組數(shù)據(jù)時(shí),我們關(guān)心這兩組數(shù)據(jù)是否相關(guān),相關(guān)程度是多少。用協(xié)方差(COV)和相關(guān)系數(shù)(CORRCOEF)來衡量相關(guān)程度:協(xié)方差的絕對(duì)值越大表示相關(guān)程度越高,協(xié)方差為正值表示正相關(guān),負(fù)值為負(fù)相關(guān),0為不相關(guān)。相關(guān)系數(shù)基于協(xié)方差,但進(jìn)行了無量綱處理。使用NumPy計(jì)算協(xié)方差和相關(guān)系數(shù):fromnumpyimportarray,cov,corrcoefdata=array([data1,data2])fromnumpyimportarray,cov,corrcoefdata=array([data1,data2])#計(jì)算兩組數(shù)的協(xié)方差#參數(shù)bias=1表示結(jié)果需要除以N,否則只計(jì)算了分子部分#返回結(jié)果為矩陣,第i行第j列的數(shù)據(jù)表示第i組數(shù)與第j組數(shù)的協(xié)方差。對(duì)角線為方差cov(data,bias=1)#計(jì)算兩組數(shù)的相關(guān)系數(shù)#返回結(jié)果為矩陣,第i行第j列的數(shù)據(jù)表示第i組數(shù)與第j組數(shù)的相關(guān)系數(shù)。對(duì)角線為1corrcoef(data)利用Matplotlib畫圖舉例利用Python畫圖需要使用Matplotlib庫?!纠?.1】 importmatplotlib.pyplotasplt 創(chuàng)建一組數(shù)據(jù),該數(shù)據(jù)為30個(gè)中國CBA球員的體重,其中“\”表示換行接著寫。直方圖畫法找出最大值與最小值,確定數(shù)據(jù)的范圍。整理數(shù)據(jù),將數(shù)據(jù)分為幾組(盡量使每組都有數(shù)據(jù)),計(jì)算頻數(shù)分布表。根據(jù)頻數(shù)分布表畫出頻數(shù)直方圖。頻數(shù)為縱坐標(biāo),分組類別為橫坐標(biāo)。通過直方圖可以對(duì)數(shù)據(jù)分布有一個(gè)直觀的了解。除了頻數(shù)直方圖,還有頻率直方圖外。頻率直方圖的縱坐標(biāo)為頻率/組距。頻率=頻數(shù)/總數(shù),組距是分組的極差。frompylabimportmpl#frompylabimportmpl#顯示中文設(shè)置mpl.rcParams['font.sans-serif']=['SimHei']#顯示中文設(shè)置#創(chuàng)建頻數(shù)分布直方圖#weight為待繪制的定量數(shù)據(jù),bins=5表示將數(shù)據(jù)劃分為5個(gè)區(qū)間#normed=False時(shí)為頻數(shù)分布直方圖plt.hist(weight,bins=5,normed=False)#xplt.hist(weight,bins=5,normed=False)#x軸區(qū)間范圍plt.xlabel('weight')plt.ylabel('frequency')plt.title('CHINACBAHistogramofweightfrequencydistributionofplayers')plt.show()圖8.1所示為頻數(shù)分布直方圖。圖8.1頻數(shù)分布直方圖箱線圖畫法下四分位數(shù)Q1:將數(shù)據(jù)按升序排序,位于25%處的數(shù)據(jù)。上四分位數(shù)Q3:將數(shù)據(jù)按升序排序,位于75%處的數(shù)據(jù)。四分位距IQR=Q3-Q1,是描述數(shù)據(jù)離散程度的一個(gè)統(tǒng)計(jì)量。異常點(diǎn)是小于Q1-1.5IQR或大于Q3+1.5IQR的值。下邊緣是除異常點(diǎn)以外的數(shù)據(jù)中的最小值。上邊緣是除異常點(diǎn)以外的數(shù)據(jù)中的最大值。##箱線圖plt.boxplot(weight,labels=['體重'])plt.title('中國CBA球員體重箱線圖')plt.show()圖8.2所示為箱線圖。圖8.2箱線圖假設(shè)檢驗(yàn)假設(shè)檢驗(yàn)是推論統(tǒng)計(jì)中用于檢驗(yàn)統(tǒng)計(jì)假設(shè)的一種方法。統(tǒng)計(jì)假設(shè)是可通過觀察一組隨機(jī)變量的模型進(jìn)行檢驗(yàn)的科學(xué)假說。一旦能估計(jì)未知參數(shù),就會(huì)希望根據(jù)結(jié)果對(duì)未知的真正參數(shù)值做出適當(dāng)?shù)耐普?。統(tǒng)計(jì)上對(duì)參數(shù)的假設(shè)就是對(duì)一個(gè)或多個(gè)參數(shù)的論述。而其中欲檢驗(yàn)其正確性的是零假設(shè)(NullHypothesis),零假設(shè)通常由研究者決定,反映研究者對(duì)未知參數(shù)的看法。相對(duì)于零假設(shè),其他有關(guān)參數(shù)的論述是備擇假設(shè)(AlternativeHypothesis),通常反映了執(zhí)行檢驗(yàn)的研究者對(duì)參數(shù)可能數(shù)值的另一種(對(duì)立的)看法(換句話說,備擇假設(shè)通常才是研究者最想知道的)。日常進(jìn)行數(shù)據(jù)分析難免會(huì)用到一些假設(shè)檢驗(yàn)方法進(jìn)行數(shù)據(jù)探索和相關(guān)性、差異性分析,并且這是進(jìn)行后續(xù)統(tǒng)計(jì)模型(機(jī)器學(xué)習(xí)類預(yù)測模型可以略過)預(yù)測的第一步。必要條件標(biāo)準(zhǔn)Python科學(xué)計(jì)算環(huán)境(NumPy、SciPy、Matplotlib)。Pandas。Statsmodels。Seaborn。要安裝Python及這些依賴,推薦下載AnacondaPython或EnthoughtCanopy。如果使用Ubuntu或其他Linux系統(tǒng),更應(yīng)該使用包管理器。適用于貝葉斯模型的是PyMC,在Python中實(shí)現(xiàn)了概率編程語言。統(tǒng)計(jì)性檢驗(yàn)的4部分正態(tài)性檢驗(yàn)。相關(guān)性檢驗(yàn)。參數(shù)統(tǒng)計(jì)假設(shè)檢驗(yàn)。正態(tài)性檢驗(yàn)正態(tài)性檢驗(yàn)是很多統(tǒng)計(jì)建模的第一步,例如,普通線性回歸就對(duì)殘差有正態(tài)性要求。正態(tài)性檢驗(yàn)可用于檢查數(shù)據(jù)是否具有高斯分布的統(tǒng)計(jì)檢驗(yàn)。w檢驗(yàn)(Shapiro-wilktest)用于檢驗(yàn)數(shù)據(jù)樣本是否具有高斯分布?!纠?.2】fromscipy.statsimportshapirofromscipy.statsimportshapirodata=[21,12,12,23,19,13,20,17,14,19]stat,p=shapiro(data)print("stat為:%f"%stat,"p值為:%f"%p)輸出:statstat為:0.913007p值為:0.302289相關(guān)性檢驗(yàn)相關(guān)性檢驗(yàn)是檢查兩個(gè)樣本是否相關(guān)的統(tǒng)計(jì)檢驗(yàn)。皮爾遜相關(guān)系數(shù)用于檢驗(yàn)兩個(gè)樣本是否具有單調(diào)關(guān)系。假設(shè):每個(gè)樣本的觀察都是正態(tài)分布的。每個(gè)樣本的觀察具有相同的方差。【例8.3】fromscipy.statsimportpearsonrfromscipy.statsimportpearsonrdata1=[21,12,12,23,19,13,20,17,14,19]data2=[12,11,8,9,10,15,16,17,10,16]corr,p=pearsonr(data1,data2)print("corr為:%f"%corr,"p值為:%f"%p)輸出:corrcorr為:0.142814 p值為:0.693889卡方檢驗(yàn)檢驗(yàn)兩個(gè)分類變量是相關(guān)的還是獨(dú)立的。假設(shè):用于計(jì)算列聯(lián)表的觀察是獨(dú)立的。列聯(lián)表的每個(gè)單元格中有25個(gè)或更多實(shí)例?!纠?.4】fromscipy.statsimportchi2_contingencydata1=[21,12,12,23,19,13,20,17,14,19]fromscipy.statsimportchi2_contingencydata1=[21,12,12,23,19,13,20,17,14,19]data2=[12,11,8,9,10,15,16,17,10,16]stat,p,dof,expected=chi2_contingency(data1,data2)print("stat為:%f"%stat,"p值為:%f"%p)輸出:statstat為:0.000000 p值為:1.000000參數(shù)統(tǒng)計(jì)假設(shè)檢驗(yàn)①T檢驗(yàn)檢驗(yàn)兩個(gè)獨(dú)立樣本的均值是否存在顯著差異。假設(shè):每個(gè)樣本的觀察都是正態(tài)分布的?!纠?.5】fromscipy.statsimportttest_inddata1=fromscipy.statsimportttest_inddata1=[21,12,12,23,19,13,20,17,14,19]data2=[12,11,8,9,10,15,16,17,10,16]stat,p=ttest_ind(data1,data2)print("stat為:%f"%stat,"p值為:%f"%p)輸出:statstat為:2.802933 p值為:0.011763②配對(duì)T檢驗(yàn)檢驗(yàn)兩個(gè)配對(duì)樣本的均值是否存在顯著差異。假設(shè):每個(gè)樣本的觀察都是正態(tài)分布的。每個(gè)樣本的觀察結(jié)果是成對(duì)的?!纠?.6】fromscipy.statsimportttest_reldata1=fromscipy.statsimportttest_reldata1=[21,12,12,23,19,13,20,17,14,19]data2=[12,11,8,9,10,15,16,17,10,16]stat,p=ttest_rel(data1,data2)print("stat為:%f"%stat,"p值為:%f"%p)輸出:statstat為:3.022945 p值為:0.014410③方差分析測試兩個(gè)或兩個(gè)以上獨(dú)立樣本的均值是否存在顯著差異。假設(shè):每個(gè)樣本的觀察都是正態(tài)分布的?!纠?.7】fromscipy.statsimportf_onewayfromscipy.statsimportf_onewaydata1=[21,12,12,23,19,13,20,17,14,19]data2=[12,11,8,9,10,15,16,17,10,16]stat,p=f_oneway(data1,data2)print("stat為:%f"%stat,"p值為:%f"%p)輸出:statstat為:7.856436 p值為:0.011763非參數(shù)統(tǒng)計(jì)假設(shè)檢驗(yàn)①曼-惠特尼U檢驗(yàn)檢驗(yàn)兩個(gè)獨(dú)立樣本的分布是否相等。假設(shè):每個(gè)樣本中的觀察是獨(dú)立同分布的??梢詫?duì)每個(gè)樣本中的觀察進(jìn)行排序?!纠?.8】fromscipy.statsimportmannwhitneyudata1=[21,12,12,23,19,13,20,17,14,19]fromscipy.statsimportmannwhitneyudata1=[21,12,12,23,19,13,20,17,14,19]data2=[12,11,8,9,10,15,16,17,10,16]data2=[12,11,8,9,10,15,16,17,10,16]stat,p=mannwhitneyu(data1,data2)print("stat為:%f"%stat,"p值為:%f"%p)輸出:statstat為:17.500000 p值為:0.007627②威爾科克森符號(hào)秩檢驗(yàn)檢驗(yàn)兩個(gè)配對(duì)樣本的分布是否均等。假設(shè):每個(gè)樣本中的觀察是獨(dú)立同分布?!纠?.9】fromscipy.statsimportwilcoxonfromscipy.statsimportwilcoxondata1=[21,12,12,23,19,13,20,17,14,19]data2=[12,11,8,9,10,15,16,17,10,16]stat,p=wilcoxon(data1,data2)print("stat為:%f"%stat,"p值為:%f"%p)輸出:statstat為:2.000000 p值為:0.014714由于樣本太小,因此無法精確計(jì)算相似性。③Kruskal-WallisH檢驗(yàn)檢驗(yàn)兩個(gè)或多個(gè)獨(dú)立樣本的分布是否相等。假設(shè):每個(gè)樣本中的觀察是獨(dú)立同分布的??梢詫?duì)每個(gè)樣本中的觀察進(jìn)行排序。fromscipy.statsimportkruskalfromscipy.statsimportkruskaldata1=[21,12,12,23,19,13,20,17,14,19]data2=[12,11,8,9,10,15,16,17,10,16]stat,p=kruskal(data1,data2)print("stat為:%f"%stat,"p值為:%f"%p)輸出:statstat為:6.072239 p值為:0.013732信度分析可以保持一致性。觀察值=真實(shí)值+誤差值,誤差越小越可信。信度的不同類型如下:再測信度(一個(gè)測試在不同時(shí)間是否可信,兩次測試值之間的相關(guān)系數(shù))。復(fù)本信度(一個(gè)測試的幾個(gè)復(fù)本是否可信或者是否等價(jià),兩個(gè)復(fù)本之間的相關(guān)系數(shù))。內(nèi)在一致性信度(每個(gè)項(xiàng)目的得分與總得分之間的相關(guān)系數(shù))。評(píng)分者信度(對(duì)一個(gè)觀察結(jié)果的評(píng)價(jià)是否一致,檢驗(yàn)不同評(píng)分者一致結(jié)論的百分比)。再測信度兩次測試的得分如下,計(jì)算相關(guān)系數(shù)?!纠?.10】輸出: 0.9005791967752049 復(fù)本信度自主記憶測試復(fù)本I和復(fù)本II的得分(時(shí)間間隔)?!纠?.11】輸出: 0.12869789041755741 一致性信度計(jì)算克隆巴赫系數(shù)(Cronbach's),實(shí)際上是計(jì)算單項(xiàng)得分與總分直接的相關(guān)系數(shù),并與每個(gè)單項(xiàng)得分的變異性比較,計(jì)算公式為:其中:k表示項(xiàng)目的個(gè)數(shù)。為所有被試項(xiàng)目所得總分的方差。表示所有被試在第i項(xiàng)目上的差異?!纠?.12】10個(gè)被測者、5個(gè)項(xiàng)目的得分表如下。Python代碼引入了Pandas包,應(yīng)用Pandas的數(shù)據(jù)幀計(jì)算就變得簡單了,其中sum()是求和,var()是求方差。輸出:6.39999999999999956.39999999999999955.1777777777777770.24列聯(lián)表分析列聯(lián)表分析(ContingencyTableAnalysis)是基于列聯(lián)表進(jìn)行的相關(guān)統(tǒng)計(jì)分析與推斷。列聯(lián)表分析的基本問題是,判明所考察的各屬性之間有無關(guān)聯(lián),即是否獨(dú)立。列聯(lián)表又稱交互分類表,所謂交互分類,是指同時(shí)依據(jù)兩個(gè)變量的值將所研究的個(gè)案分類。交互分類的目的是將兩個(gè)變量分組,然后比較各組的分布狀況,以尋找變量間的關(guān)系。比較和對(duì)照是進(jìn)行科學(xué)研究的基本手段。對(duì)于間距測度和比例測度的資料,進(jìn)行分組比較時(shí)可以用均數(shù)檢驗(yàn)、方差分析等方法。對(duì)于有較多可取值的序次測度資料,進(jìn)行分組比較時(shí)可以用各種秩和檢驗(yàn)方法。而對(duì)于名義測度的資料和有序分類所得的資料(也屬序次測度),分組比較時(shí)需用交叉分類進(jìn)行統(tǒng)計(jì)描述,交叉分類所得的表格稱為“列聯(lián)表”,統(tǒng)計(jì)推斷(檢驗(yàn))則要使用列聯(lián)表分析的方法——卡方檢驗(yàn)。卡方檢驗(yàn)是用來研究兩個(gè)定類變量間是否獨(dú)立(是否存在某種關(guān)聯(lián)性)的常用方法。對(duì)于調(diào)查中得到的兩個(gè)變量的數(shù)據(jù),用一個(gè)表格的形式來表示它們的分布(頻數(shù)和百分?jǐn)?shù)),表中數(shù)據(jù)的分布形態(tài)??ǚ綑z驗(yàn)的公式如下:其中,A是實(shí)際值,T是理論值?!纠?.13】輸出如下:(7.6919413561281065,(7.6919413561281065, 0.021365652322337315, 2, array([[48.99759615,39.04086538,20.96153846],[138.00240385,109.95913462,59.03846154]]))代碼運(yùn)行結(jié)果解析如下:P{χ2(2)>7.6919413561281065}=0.021365652322337315對(duì)于array([[48.99759615,39.04086538,20.96153846],[138.00240385,109.95913462,59.03846154]]))而言:以此類推,得到其他結(jié)果。自由度為1時(shí),代碼底層存在Yate校正,此時(shí)手算結(jié)果會(huì)與程序運(yùn)算結(jié)果不一致,屬于正?,F(xiàn)象。相關(guān)分析相關(guān)系數(shù)是變量間關(guān)聯(lián)程度的基本測度之一,如果我們想知道兩個(gè)變量之間的相關(guān)性,就可以計(jì)算相關(guān)系數(shù)進(jìn)行判定。相關(guān)系數(shù)的基本特征說明如下。方向:正相關(guān):兩個(gè)變量變化方向相同。負(fù)相關(guān):兩個(gè)變量變化方向相反。量級(jí)(Magnitude):低度相關(guān):0≤|r|<0.3。中度相關(guān):0.3≤|r|<0.8。高度相關(guān):0.8≤|r|<1。散點(diǎn)圖:在進(jìn)行相關(guān)分析之前,通常會(huì)繪制散點(diǎn)圖來觀察變量之間的相關(guān)性,如果這些數(shù)據(jù)在二維坐標(biāo)軸中構(gòu)成的數(shù)據(jù)點(diǎn)分布在一條直線的周圍,就說明變量間存在線性相關(guān)關(guān)系。Python計(jì)算相關(guān)系數(shù)其中:r:相關(guān)系數(shù)。ZX:變量X的z分?jǐn)?shù)。ZY:變量Y的z分?jǐn)?shù)。N:X和Y取值的配對(duì)個(gè)數(shù)。場景案例我們知道影響金融產(chǎn)品銷量的因素很多。作為用戶來講,最直接的參考指標(biāo)一定是產(chǎn)品的利率,金融機(jī)構(gòu)為了吸引更多的用戶能夠持有或購買某項(xiàng)金融產(chǎn)品,往往會(huì)推出加息活動(dòng),那么加息活動(dòng)這個(gè)變量與實(shí)際銷量之間是否存在相關(guān)關(guān)系?【例8.14】計(jì)算相關(guān)系數(shù)的Python代碼如下:importnumpyimportnumpyX=[52,19,7,33,2]Y=[162,61,22,100,6]#均值XMean=numpy.mean(X)YMean=numpy.mean(Y)#標(biāo)準(zhǔn)差XSD=numpy.std(X)YSD=numpy.std(Y)#z分?jǐn)?shù)ZX=(X-XMean)/XSDZY=(Y-YMean)/YSD#相關(guān)系數(shù)r=numpy.sum(ZX*ZY)/(len(X))print(ZX,ZY)print(r)輸出:[1.61684964-0.19798159-0.857920220.57194681-1.13289465][1.63073842[1.61684964-0.19798159-0.857920220.57194681-1.13289465][1.63073842-0.16342912-0.856226490.52936824-1.14045105]0.999674032661831則得到結(jié)果:方差分析方差分析(ANOVA)又稱“變異數(shù)分析”或“F檢驗(yàn)”,是由R.A.Fister發(fā)明的,用于兩個(gè)及兩個(gè)以上的樣本均數(shù)差別的顯著性檢驗(yàn)。與通常的統(tǒng)計(jì)推斷問題一樣,方差分析的任務(wù)是先根據(jù)實(shí)際情況提出原假設(shè)H0與備擇假設(shè)H1,然后尋找適當(dāng)?shù)臋z驗(yàn)統(tǒng)計(jì)量進(jìn)行假設(shè)檢驗(yàn)。試驗(yàn)中要考察的指標(biāo)稱為試驗(yàn)指標(biāo),影響試驗(yàn)指標(biāo)的條件稱為因素,因素所處的狀態(tài)稱為水平,若試驗(yàn)中只有一個(gè)因素改變,則稱為單因素試驗(yàn);若有兩個(gè)因素改變,則稱為雙因素試驗(yàn);若有多個(gè)因素改變,則稱為多因素試驗(yàn)。方差分析就是對(duì)試驗(yàn)數(shù)據(jù)進(jìn)行分析,檢驗(yàn)方差相等的多個(gè)正態(tài)總體均值是否相等,進(jìn)而判斷各因素對(duì)試驗(yàn)指標(biāo)的影響是否顯著。根據(jù)影響試驗(yàn)指標(biāo)條件的個(gè)數(shù)可以區(qū)分為單因素方差分析、雙因素方差分析和多因素方差分析。單因素方差分析單因素方差分析是指對(duì)單因素試驗(yàn)結(jié)果進(jìn)行分析,檢驗(yàn)因素對(duì)試驗(yàn)結(jié)果有無顯著性影響的方法。單因素方差分析是兩個(gè)樣本平均數(shù)比較的引申,用來檢驗(yàn)多個(gè)平均數(shù)之間的差異,從而確定因素對(duì)試驗(yàn)結(jié)果有無顯著性影響。因素:影響研究對(duì)象的某一指標(biāo)、變量。水平:因素變化的各種狀態(tài)或因素變化所分的等級(jí)或組別。單因素試驗(yàn):考慮的因素只有一個(gè)的試驗(yàn)叫單因素試驗(yàn)。假設(shè)前提設(shè)單因素A具有r個(gè)水平,分別記為A1,A2,…,Ar,在每個(gè)水平Ai(i=1,2,…,r)下,要考察的指標(biāo)可以看成一個(gè)總體,故有r個(gè)總體,并假設(shè):每個(gè)總體均服從正態(tài)分布,即Xi~N(μi,σ2),i1,2,…,r。每個(gè)總體的方差σ2相同。從每個(gè)總體中抽取的樣本Xi1,Xi2,…,Xini相互獨(dú)立,i=1,2,…,r。此處的μi、σ2均未知。那么,要比較各個(gè)總體的均值是否一致,就要檢驗(yàn)各個(gè)總體的均值是否相等,設(shè)第i個(gè)總體的均值為μi,則:假設(shè)檢驗(yàn)為H0:μ1=μ2=…=μi。備擇假設(shè)為H1:μ1,μ2,…,μi不全相等。方差分析的任務(wù)檢驗(yàn)該模型中r個(gè)總體N(μi,σ2)(i=1,2,…,r)的均值是否相等。作為未知參數(shù)μ1,μ2,…,μi,σ2的估計(jì)。Python實(shí)現(xiàn)單因素方差分析用到了SciPy.stats.f_oneway()方法,用法很簡單,只不過在用之前需要先檢驗(yàn)方差齊性,用到了levenetest?!纠?.15】輸出:多因素方差分析多因素方差分析用來研究兩個(gè)及兩個(gè)以上的控制變量是否對(duì)觀測變量產(chǎn)生顯著影響。這里,由于研究多個(gè)因素對(duì)觀測變量的影響,因此稱為多因素方差分析。多因素方差分析不僅能夠分析多個(gè)因素對(duì)觀測變量的獨(dú)立影響,還能夠分析多個(gè)控制因素的交互作用能否對(duì)觀測變量的分布產(chǎn)生顯著影響,進(jìn)而最終找到有利于觀測變量的最優(yōu)組合?!纠?.16】#-*-coding:utf-8-*-fromscipyimportstatsimportpandasaspdimportnumpyasnp#-*-coding:utf-8-*-fromscipyimportstatsimportpandasaspdimportnumpyasnpfromstatsmodels.formula.apiimportolsfromstatsmodels.stats.anovaimportanova_lmfromstatsmodels.stats.multicompimportpairwise_tukeyhsdimportmatplotlib.pyplotasplt#讀取數(shù)據(jù)fPath='altman_910_2.txt'df=pd.read_csv(fPath,header=None,names=['hs','fetus','observer'])df=df.dropna()#刪除空值print(df)formula='hs~C(fetus)+C(observer)+C(fetus):C(observer)'anova_results=anova_lm(ols(formula,df).fit())print(anova_results)hsd=pairwise_tukeyhsd(df['hs'],df['fetus'])print(hsd.summary())輸出:這是隨即設(shè)計(jì)的兩個(gè)因素方差分析的結(jié)果:顯示fetus的主效應(yīng)顯著。輸出的結(jié)果顯示,3個(gè)水平均值均呈現(xiàn)顯著差異(reject==Ture)?;貧w分析線性回歸是一種有監(jiān)督的學(xué)習(xí)算法,它介紹自變量和因變量之間的線性相關(guān)關(guān)系,分為一元線性回歸和多元線性回歸。一元線性回歸是一個(gè)自變量和一個(gè)因變量間的回歸,可以看成是多元線性回歸的特例。線性回歸可以用來預(yù)測和分類,從回歸方程可以看出自變量和因變量的相互影響關(guān)系。線性回歸模型對(duì)于線性回歸的模型假定如下:誤差項(xiàng)的均值為0,且誤差項(xiàng)與解釋變量之間線性無關(guān)。等的。解釋變量之間線性無關(guān)。正態(tài)性假設(shè),即誤差項(xiàng)是服從正態(tài)分布的。以上的假設(shè)是建立回歸模型的基本條件,所以對(duì)于回歸結(jié)果要一一進(jìn)行驗(yàn)證,如果不滿足假定,就要進(jìn)行相關(guān)的修正。模型的參數(shù)求解矩估計(jì)一般是通過樣本矩來估計(jì)總體的參數(shù),常見的是用樣本的一階原點(diǎn)矩來估計(jì)總體的均值,用二階中心矩來估計(jì)總體的方差。最小二乘估計(jì)最小二乘估計(jì)法,又稱最小平方法,是一種數(shù)學(xué)優(yōu)化技術(shù)。它通過最小化誤差的平方和尋找數(shù)據(jù)的最佳函數(shù)匹配。利用最小二乘估計(jì)法可以簡便地求得未知的數(shù)據(jù),并使得這些數(shù)據(jù)與實(shí)際數(shù)據(jù)之間誤差的平方和為最小。極大似然估計(jì)極大似然估計(jì)是基于概率的思想,要求樣本的概率分布是已知的,參數(shù)估計(jì)的值使得大量樣本發(fā)生的概率最大,用似然函數(shù)來度量,似然函數(shù)是各個(gè)樣本的密度函數(shù)的乘積,為方便求解其導(dǎo)數(shù),加負(fù)號(hào)求解極小值,得到參數(shù)的估計(jì)結(jié)果。用Python實(shí)現(xiàn)線性回歸目前使用Python較多,而Python中遠(yuǎn)近聞名的機(jī)器學(xué)習(xí)庫要數(shù)Scikit-Learn了。這個(gè)庫優(yōu)點(diǎn)很多,簡單易用,接口抽象得非常好。這里封裝其中的很多機(jī)器學(xué)習(xí)算法,然后進(jìn)行一次性測試,從而便于分析取優(yōu)。當(dāng)然,針對(duì)具體算法,超參調(diào)優(yōu)也非常重要。【例8.17】下面利用線性回歸算法預(yù)測波士頓的房價(jià)。波士頓房價(jià)數(shù)據(jù)集包含波士頓郊區(qū)住房價(jià)值的信息。波士頓數(shù)據(jù)集是Scikit-Learn的內(nèi)置數(shù)據(jù)集,可以直接拿來使用。#Python#Python庫導(dǎo)入importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltimportsklearnfromsklearn.linear_modelimportLinearRegressionfromsklearn.datasetsimportload_bostonimportmatplotlib.font_managerasfm#數(shù)據(jù)獲取和理解boston=load_boston()print(boston.keys())輸出:dict_keys(['data','target','feature_names','DESCR'])#dict_keys(['data','target','feature_names','DESCR'])#波士頓數(shù)據(jù)集506個(gè)樣本,14個(gè)特征print(boston.data.shape)輸出:(506,13)(506,13)#數(shù)據(jù)集列名print(boston.feature_names)輸出:['CRIM''ZN''INDUS''CHAS''NOX''RM''AGE''DIS''RAD''TAX''PTRATIO''B''LSTAT']['CRIM''ZN''INDUS''CHAS''NOX''RM''AGE''DIS''RAD''TAX''PTRATIO''B''LSTAT']#波士頓數(shù)據(jù)集描述bos=pd.DataFrame(boston.data)print(bos.head())輸出:輸出:RM和PRICE的關(guān)系散點(diǎn)圖如圖8.3所示。圖8.3RM和PRICE的關(guān)系散點(diǎn)圖##數(shù)據(jù)模型應(yīng)用—預(yù)測房價(jià)lm.predict(X)[0:5]#預(yù)測mse=np.mean((bos.PRICE-lm.predict(X))**2)print(mse)輸出: 21.897779217687496 使用.DESCR探索波士頓數(shù)據(jù)集,業(yè)務(wù)目標(biāo)是預(yù)測波士頓郊區(qū)住房的房價(jià),使用Scikit-Learn針對(duì)整個(gè)數(shù)據(jù)集擬合線性回歸模型,并計(jì)算均方誤差。聚類分析聚類分析是沒有給定劃分類別的情況下,根據(jù)樣本相似度進(jìn)行樣本分組的一種方法,是一種非監(jiān)督的學(xué)習(xí)算法。聚類的輸入是一組未被標(biāo)記的樣本,聚類根據(jù)數(shù)據(jù)自身的距離或相似度劃分為若干組,劃分的原則是組內(nèi)距離最小化而組間距離最大化。常見的聚類分析算法如下:分散性聚類:K-Means聚類也稱為快速聚類法,在最小化誤差函數(shù)的基礎(chǔ)上將數(shù)據(jù)劃分為預(yù)定的類數(shù)K。該算法的原理簡單并便于處理大量數(shù)據(jù)。密度算法:基于密度的方法(Density-BasedMethods),與其他方法的根本區(qū)別是:它不是基于各種各樣的距離的,而是基于密度的。這樣就能克服基于距離的算法只能發(fā)現(xiàn)“類圓形”的聚類的缺點(diǎn)。這個(gè)方法的指導(dǎo)思想是,只要一個(gè)區(qū)域中的點(diǎn)的密度大過某個(gè)閾值,就把它加到與之相近的聚類中去。系統(tǒng)聚類:也稱為層次聚類,分類的單位由高到低呈樹形結(jié)構(gòu),且所處的位置越低,其所包含的對(duì)象就越少,但這些對(duì)象間的共同特征越多。該聚類方法只適合在小數(shù)據(jù)量的時(shí)候使用,數(shù)據(jù)量大的時(shí)候速度會(huì)非常慢?!纠?.18】為了看鳶尾花的3種聚類算法的直觀區(qū)別,不用具體的算法實(shí)現(xiàn),只需要調(diào)用相應(yīng)的函數(shù)即可。分散性聚類K-Means算法是典型的基于距離的非層次聚類算法,在最小化誤差函數(shù)的基礎(chǔ)上將數(shù)據(jù)劃分為預(yù)定的類數(shù)K,采用距離作為相似性的評(píng)價(jià)指標(biāo),即認(rèn)為兩個(gè)對(duì)象的距離越近,其相似度就越大。算法流程:選擇聚類的個(gè)數(shù)k。任意產(chǎn)生k個(gè)聚類,然后確定聚類中心,或者直接生成k個(gè)中心。對(duì)每個(gè)點(diǎn)確定其聚類中心點(diǎn)。再計(jì)算其聚類新中心。重復(fù)以上步驟直到滿足收斂要求(通常是確定的中心點(diǎn)不再改變)。importmatplotlib.pyplotaspltimportnumpyasnpimportmatplotlib.pyplotaspltimportnumpyasnpfromsklearn.clusterimportKMeansfromsklearnimportdatasetsiris=datasets.load_iris()X=iris.data[:,:4]#表示取特征空間中的4個(gè)維度print(X.shape)#繪制數(shù)據(jù)分布圖plt.scatter(X[:,0],X[:,1],c="red",marker='o',label='see')plt.xlabel('petallength')plt.ylabel('petalwidth')plt.legend(loc=2)plt.show()estimator=KMeans(n_clusters=3)#構(gòu)造聚類器estimator.fit(X)#聚類label_pred=estimator.labels_#獲取聚類標(biāo)簽#繪制K-Means結(jié)果x0=X[label_pred==0]x1=X[label_pred==1]x2=X[label_pred==2]plt.scatter(x0[:,0],x0[:,1],c="red",marker='o',label='label0')plt.scatter(x0[:,0],x0[:,1],c="red",marker='o',label='label0')plt.scatter(x1[:,0],x1[:,1],c="green",marker='*',label='label1')plt.scatter(x2[:,0],x2[:,1],c="blue",marker='+',label='label2')plt.xlabel('petallength')plt.ylabel('petalwidth')plt.legend(loc=2)plt.show()鳶尾花K-Means聚類如圖8.4所示。圖8.4鳶尾花K-Means聚類K-Menas算法試圖找到使平方誤差準(zhǔn)則函數(shù)最小的簇。當(dāng)潛在的簇形狀是凸面的,簇與簇之間的區(qū)別較明顯,且簇大小相近時(shí),其聚類結(jié)果比較理想。對(duì)于處理大數(shù)據(jù)集合,該算法非常高效,且伸縮性較好。但該算法除了要事先確定簇?cái)?shù)K和對(duì)初始聚類中心敏感外,經(jīng)常以局部最優(yōu)結(jié)束,同時(shí)對(duì)“噪聲”和孤立點(diǎn)敏感,并且該方法不適于發(fā)現(xiàn)非凸面形狀的簇或大小差別很大的簇。密度聚類之DBSCAN算法DBSCAN算法需要兩個(gè)參數(shù),即ε(eps)和minPts形成高密度區(qū)域所需要的最少點(diǎn)數(shù)。由一個(gè)任意未被訪問的點(diǎn)開始,然后探索這個(gè)點(diǎn)的ε-鄰域,如果ε-鄰域里有足夠的點(diǎn),就建立一個(gè)新的聚類,否則這個(gè)點(diǎn)被標(biāo)記為雜音。注意,這個(gè)點(diǎn)之后可能被發(fā)現(xiàn)在其他點(diǎn)的ε-鄰域里,而該ε-鄰域可能有足夠的點(diǎn),屆時(shí)這個(gè)點(diǎn)會(huì)被加入該聚類中。importmatplotlib.pyplotaspltimportnumpyasnpimportmatplotlib.pyplotaspltimportnumpyasnpfromsklearn.clusterimportKMeansfromsklearnimportdatasetsfromsklearnimportdatasetsfromsklearn.clusterimportDBSCANiris=datasets.load_iris()X=iris.data[:,:4]#表示只取特征空間中的4個(gè)維度print(X.shape)#繪制數(shù)據(jù)分布圖plt.scatter(X[:,0],X[:,1],c="red",marker='o',label='see')plt.xlabel('petallength')plt.ylabel('petalwidth')plt.legend(loc=2)plt.show()dbscan=DBSCAN(eps=0.4,min_samples=9)dbscan.fit(X)label_pred=dbscan.labels_#繪制K-Means結(jié)果x0=X[label_pred==0]x1=X[label_pred==1]x2=X[label_pred==2]plt.scatter(x0[:,0],x0[:,1],c="red",marker='o',label='label0')plt.scatter(x1[:,0],x1[:,1],c="green",marker='*',label='label1')plt.scatter(x2[:,0],x2[:,1],c="blue",marker='+',label='label2')plt.xlabel('petallength')plt.ylabel('petalwidth')plt.legend(loc=2)plt.show()鳶尾花DBSCAN聚類如圖8.5所示。圖8.5鳶尾花DBSCAN聚類結(jié)構(gòu)性聚類(層次聚類)凝聚層次聚類(AGNES算法,自底向上):首先將每個(gè)對(duì)象作為一個(gè)簇,然后合并這些原子簇為越來越大的簇,直到某個(gè)終結(jié)條件被滿足。分裂層次聚類(DIANA算法,自頂向下):首先將所有對(duì)象置于一個(gè)簇中,然后逐漸細(xì)分為越來越小的簇,直到達(dá)到某個(gè)終結(jié)條件。下面使用AGNES算法。fromsklearnimportdatasetsfromsklearn.clusterimportAgglomerativeClusteringimportmatplotlib.pyplotaspltfromsklearn.metricsimportconfusion_matriximportpandasaspdiris=datasets.load_iris()irisdata=iris.dataclustering=AgglomerativeClustering(linkage='ward',n_clusters=3)res=clustering.fit(irisdata)print("各個(gè)簇的樣本數(shù)目:")print(pd.Series(clustering.labels_).value_counts())print("聚類結(jié)果:")print(confusion_matrix(iris.target,clustering.labels_))plt.figure()d0=irisdata[clustering.labels_==0]plt.plot(d0[:,0],d0[:,1],'r.')d1=irisdata[clustering.labels_==1]plt.plot(d1[:,0],d1[:,1],'go')d2=irisdata[clustering.labels_==2]plt.plot(d2[:,0],d2[:,1],'b*')plt.xlabel("Sepal.Length")plt.ylabel("Sepal.Width")plt.title("AGNESClustering")plt.show()鳶尾花AGNES聚類如圖8.6所示。圖8.6鳶尾花AGNES聚類從上面3種實(shí)驗(yàn)截圖可以看出,K-Means聚類和AGNES層次聚類分析結(jié)果顯示為三類,與DBSCAN的結(jié)果不一樣。這主要取決于算法本身的優(yōu)缺點(diǎn)。K-Means對(duì)于大型數(shù)據(jù)需要預(yù)先設(shè)定K值,對(duì)最先的K個(gè)點(diǎn)的選取很敏感,對(duì)噪聲和離群值非常敏感,只用于numerical類型的數(shù)據(jù),不能解決非凸數(shù)據(jù)。DBSCAN對(duì)噪聲不敏感,能發(fā)現(xiàn)任意形狀的聚類,但是聚類的結(jié)果與參數(shù)有很大的關(guān)系。DBSCAN用固定參數(shù)識(shí)別聚類,但當(dāng)聚類為多個(gè)類,或密度較大且離得較近的類會(huì)被合并成一個(gè)聚類。判別分析判別分析是一種經(jīng)典的分析方法,其利用已知類別的樣本建立判別模型,對(duì)未知類別的樣本進(jìn)行分類。本節(jié)主要討論費(fèi)歇(Fisher)判別分析的方法。Fisher線性判別原理Fisher判別的思想是投影,使多維問題簡化為一維問題來處理。選擇一個(gè)適當(dāng)?shù)耐队拜S,使所有的樣品點(diǎn)都投影到這個(gè)軸上得到一個(gè)投影值。對(duì)這個(gè)投影軸的方向的要求是:使每一類內(nèi)的投影值所形成的類內(nèi)離差盡可能小,而不同類間的投影值所形成的類間離差盡可能大。Fisher判別原理示意圖如圖8.7所示。圖8.7Fisher判別原理示意圖公式推導(dǎo)圖8.7給出了一個(gè)二維的示意圖,接下來討論將以二維的情況進(jìn)行分類來逐步分析原理和實(shí)現(xiàn)。對(duì)于給定的數(shù)據(jù)集D(已經(jīng)設(shè)置好分類標(biāo)簽),Xi、Ui和∑i分別表示給定類別i的集合、均值向量和協(xié)方差矩陣?,F(xiàn)將數(shù)據(jù)投影到直線y=wTx上,則樣本中心的投影為y=w1?u1+w2?u2+…+wn?un(n為樣本維度,接下來的討論中將統(tǒng)一設(shè)置為2),寫成向量形式則為wTu=y。若將所有的樣本都投影到直線上,則兩類樣本的協(xié)方差分別為wT∑0w和wT∑1w。要想達(dá)到較好的分類效果,應(yīng)該使得同類樣本的投影點(diǎn)盡可能接近,也就是讓同類樣本投影點(diǎn)的協(xié)方差盡可能小,即(wT∑0w+wT∑0w)盡可能小。同時(shí),應(yīng)該保證不同類樣的投影點(diǎn)盡可能互相遠(yuǎn)離,即||wTu0-wTu1||盡可能大。如果同時(shí)考慮兩者的關(guān)系,可以到下面的需要最大化的目標(biāo):這里定義類內(nèi)散度矩陣(Within-ClassScatterMatrix):以及類間離散度矩陣(Between-ClassScatterMatrix):則J可重寫為:編程實(shí)現(xiàn)【例8.19】下面直接用Scikit-Learn的接口來生成數(shù)據(jù)。Fisher線性判別如圖8.8所示。圖8.8Fisher線性判別主成分分析主成分分析(PrincipalComponentsAnalysis)是一種對(duì)特征進(jìn)行降維的方法。由于觀測指標(biāo)間存在相關(guān)性,將導(dǎo)致信息的重疊與低效,我們傾向于用少量的、盡可能多地反映原特征的新特征來替代它們,主成分分析因此產(chǎn)生。主成分分析可以看成是高維空間通過旋轉(zhuǎn)坐標(biāo)系找到最佳投影(幾何上),生成新維度,其中新坐標(biāo)軸每一個(gè)維度都是原維度的線性組合θ′X(數(shù)學(xué)上),滿足:新維度特征之間的相關(guān)性盡可能小。參數(shù)空間θ有界。方差盡可能大,且每個(gè)主成分的方差遞減。數(shù)學(xué)表示對(duì)于樣本i∈N有p維特征Xp×1,于是有p維主成分Zp×1,以及參數(shù)θp×p滿足:其中,Z1Z[0]是樣本i的第一主成分值,以此類推。θ變換。針對(duì)上述主成分分析的3點(diǎn)性質(zhì),分別對(duì)應(yīng)有:問題轉(zhuǎn)換為,如何在滿足以上性質(zhì)的情況下找到合適的θ。主成分分析的基本步驟輸入:樣本集D={x1,x2,…,xm},低維空間維數(shù)d′。過程:對(duì)所有樣本進(jìn)行中心化:。計(jì)算樣本的協(xié)方差矩陣XXT。對(duì)協(xié)方差矩陣XXT進(jìn)行特征值分解。取最大的d′個(gè)特征值所對(duì)應(yīng)的特征向量w1,w2,…,wd′輸出:投影舉證W=(w1,w2,…,wd′)。Python源代碼實(shí)現(xiàn)我們通過Python的sklearn庫來實(shí)現(xiàn)鳶尾花數(shù)據(jù)進(jìn)行降維,數(shù)據(jù)本身是4維的,降維后變成2維的,可以在平面中畫出樣本點(diǎn)的分布?!纠?.20】樣本點(diǎn)的分布如圖8.9所示。圖8.9主成分分析(PCA)可以看出,降維后的數(shù)據(jù)仍能夠清晰地分成3類。這樣不僅能削減數(shù)據(jù)的維度、降低分類任務(wù)的工作量,還能保證分類的質(zhì)量。因子分析因子分析(Factor Analysis)是一種數(shù)據(jù)簡化的技術(shù)。它通過研究眾多變量之間的部依賴關(guān)系探求觀測數(shù)據(jù)中的基本結(jié)構(gòu),并用少數(shù)幾個(gè)假想變量來表示其基本的數(shù)據(jù)結(jié)構(gòu)。這幾個(gè)假想變量能夠反映原來眾多變量的主要信息。原始的變量是可觀測的顯在變量,而假想變量是不可觀測的潛在變量,稱為因子。例如,在企業(yè)形象或品牌形象的研究中,消費(fèi)者可以通過一個(gè)由24體系評(píng)價(jià)百貨商場的24的服務(wù)和商品的價(jià)格。因子分析方法可以通過24和商品價(jià)格的3個(gè)潛在的因子,對(duì)商店進(jìn)行綜合評(píng)價(jià)。這3個(gè)公共因子可以表示為:稱F1、F2、F3是不可觀測的潛在因子。24個(gè)變量共享這3個(gè)因子,但是每個(gè)變量又自己的個(gè)性,即不被包含的部分εi,稱為特殊因子。因子分析與主成分分析的區(qū)別主成分分析僅僅是變量變換,而因子分析需要構(gòu)造因子模型。因子分析:潛在的假想變量和隨機(jī)影響變量的線性組合表示原始變量。主成分分析:原始變量的線性組合表示新的綜合變量,即主成分。(1)因子分析數(shù)學(xué)模型假設(shè)有p個(gè)變量X,有m個(gè)因子(m≤p),則因子分析的數(shù)學(xué)模型可以表示如下:稱F1,F2,…,Fm為公共因子,是不可觀測的變量,它們的系數(shù)稱為因子負(fù)載。εi是特殊因子,是不能被前m個(gè)公共因子包含的部分。其中,因子F1,F2,…,Fm之間互不相關(guān),方差等于1。因子載荷aij是第i個(gè)變量與第j個(gè)公共因子的相關(guān)系數(shù),反映了第j個(gè)公共因子對(duì)第i個(gè)變量的影響程度。因子旋轉(zhuǎn)含義。常用的一種方法是方差最大旋轉(zhuǎn)。因子得分及其計(jì)算前面我們主要解決了用公共因子的線性組合來表示一組觀測變量的有關(guān)問題。如果要使用這些因子做其他的研究,比如把得到的因子作為自變量來進(jìn)行回歸分析,對(duì)樣本進(jìn)行分類或評(píng)價(jià),就需要計(jì)算每個(gè)個(gè)體在每個(gè)因子上的得分。要計(jì)算因子得分,需要估計(jì)以下表達(dá)式:因子得分有多種計(jì)算方法,常用的一種是回歸法。若對(duì)變量都進(jìn)行標(biāo)準(zhǔn)化,則模型中沒有常數(shù)項(xiàng)。因子分析的步驟因子分析解決的3個(gè)基本問題:因子載荷陣A的估計(jì)。當(dāng)因子難以得到合理的解釋時(shí),對(duì)因子載荷陣進(jìn)行正交變換,即因子旋轉(zhuǎn)。對(duì)因子的實(shí)際意義做出合理的解釋。給出每個(gè)變量(或樣品)關(guān)于m個(gè)公共因子的得分,通常表示為原始變量的線性組合,即因子得分函數(shù)。對(duì)公共因子做出估計(jì)。因子分析的步驟:根據(jù)問題選取原始變量。求其相關(guān)陣R,探討其相關(guān)性。從R求解初始公共因子F及因子載荷矩陣A(主成分法)。因子旋轉(zhuǎn),分析因子的含義。計(jì)算因子得分函數(shù)。根據(jù)因子得分值進(jìn)行進(jìn)一步分析(例如綜合評(píng)價(jià))。因子分析與主成分分析的區(qū)別與聯(lián)系因子分析、主成分分析都是重要的降維方法(即數(shù)據(jù)簡化技術(shù)),以看作主成分分析的推廣和發(fā)展。主成分分析不能作為一個(gè)模型來描述,它只能作為一般的變量變換,主成分是的變量,一般不能表示為原始變量的線性組合。變量,即通過這樣的分解來分析原始變量的協(xié)方差結(jié)構(gòu)(相依關(guān)系)。基于sklearn的因子分析【例8.21】用iris(鳶尾花)數(shù)據(jù)集進(jìn)行因子分析。#Gettingready#Gettingreadyfromsklearnimportdatasetsiris=datasets.load_iris()fromsklearn.decompositionimportFactorAnalysisfa=FactorAnalysis(n_components=2)iris_two_dim=fa.fit_transform(iris.data)iris_two_dim[:5]#matplotlibinlinefrommatplotlibimportpyplotaspltf=plt.figure(figsize=(5,5))ax=f.add_subplot(111)ax.scatter(iris_two_dim[:,0],iris_two_dim[:,1],c=iris.target)ax.set_title("FactorAnalysis2Components"))數(shù)據(jù)集基于sklearn的因子分析如圖8.10所示。觀測值的對(duì)數(shù)似然估計(jì)值,通過模型比較對(duì)數(shù)似然估計(jì)值會(huì)更好。因子分析也有不足之處。由于用戶不是通過擬合模型直接預(yù)測結(jié)果,擬合模型只是一個(gè)中間步驟。這本身并非壞事,但是訓(xùn)練實(shí)際模型時(shí)誤差就會(huì)產(chǎn)生。圖8.10對(duì)iris(鳶尾花)數(shù)據(jù)集基于sklearn的因子分析因子分析的基本假設(shè)是,有個(gè)重要特征和它們的線性組合(加噪聲)能夠構(gòu)成原始的N維數(shù)據(jù)集。也就是說,不需要指定結(jié)果變量(就是最終生成N維),而是要指定數(shù)據(jù)模型的因子數(shù)量。時(shí)間序列分析在生產(chǎn)和科學(xué)研究中,對(duì)某一個(gè)或者一組變量進(jìn)行觀察測量,將在一系列時(shí)刻所得到的離散數(shù)字組成的序列集合稱為時(shí)間序列。時(shí)間序列分析是根據(jù)系統(tǒng)觀察得到的時(shí)間序列數(shù)據(jù),通過曲線擬合和參數(shù)估計(jì)來建立數(shù)學(xué)模型的理論和方法。時(shí)間序列分析常用于國民宏觀經(jīng)濟(jì)控制、市場潛力預(yù)測、氣象預(yù)測、農(nóng)作物害蟲災(zāi)害預(yù)報(bào)等方面?;灸P妥曰貧w移動(dòng)平均模型(ARMA(p,q))是時(shí)間序列中最為重要的模型之一,主要由兩部分組成:AR代表p階自回歸過程;MA代表q階移動(dòng)平均過程。其公式如下:在時(shí)間序列中,ARIMA模型在ARMA模型的基礎(chǔ)上多了差分的操作。時(shí)間序列建模的基本步驟獲取被觀測系統(tǒng)的時(shí)間序列數(shù)據(jù)。對(duì)數(shù)據(jù)繪圖,觀測是否為平穩(wěn)時(shí)間序列。對(duì)于非平穩(wěn)時(shí)間序列,要先進(jìn)行d 差分運(yùn)算,化為平穩(wěn)時(shí)間序列。經(jīng)過第二步處理,已經(jīng)得到平穩(wěn)時(shí)間序列。要對(duì)平穩(wěn)時(shí)間序列分別求得其自相關(guān)系數(shù)ACF和偏自相關(guān)系數(shù)PACF,通過對(duì)自相關(guān)圖和偏自相關(guān)圖的分析得到最佳的階層和階數(shù)q。由以上得到ARIMA模型。然后開始對(duì)得到的模型進(jìn)行模型檢驗(yàn)。ARIMA實(shí)戰(zhàn)解剖【例8.22】FromFromfuture importprint_functionimportpandasaspdimportnumpyasnpfromscipyimportstatsimportmatplotlib.pyplotaspltimportstatsmodels.apiassmfromstatsmodels.graphics.apiimportqqplot這里我們使用一個(gè)具有周期性的測試數(shù)據(jù)進(jìn)行分析。##獲取數(shù)據(jù)dta=[10930,10318,10595,10972,7706,6756,9092,10551,9722,10913,11151,8186,6422,12136,12812,12006,12528,10329,7818,11719,11683,12603,11495,13670,11337,10232,13261,13230,15535,16837,19598,14823,11622,19391,18177,19994,14723,15694,13248,9543,12872,13101,15053,12619,13749,10228,9725,14729,12518,14564,15085,14722,11999,9390,13481,14795,15845,15271,14686,11054,10395]dta=pd.Series(dta)dta.index=pd.Index(sm.tsa.datetools.dates_from_range('2001','2090'))dta.plot(figsize=(12,8))數(shù)據(jù)繪圖如圖8.11所示。圖8.11數(shù)據(jù)繪圖ARIMA模型對(duì)時(shí)間序列的要求是平穩(wěn)型。因此,當(dāng)?shù)玫揭粋€(gè)非平穩(wěn)的時(shí)間序列時(shí),首先要做的是進(jìn)行時(shí)間序列的差分,直到得到一個(gè)平穩(wěn)時(shí)間序列。如果對(duì)時(shí)間序列進(jìn)行d次差分才能得到一個(gè)平穩(wěn)序列,那么可以使用ARIMA(p,d,q)模型,其中d是差分次數(shù)。##時(shí)間序列的差分fig=plt.figure(figsize=(12,8))ax1=fig.add_subplot(111)diff1=dta.diff(1)diff1.plot(ax=ax1)時(shí)間序列一階差分圖如圖8.12所示。圖8.12時(shí)間序列一階差分一階差分的時(shí)間序列的均值和方差已經(jīng)基本平穩(wěn),不過我們還是可以比較一下二階差分的效果。##二階差分fig=plt.figure(figsize=(12,8))ax2=fig.add_subplot(111)diff2=dta.diff(2)diff2.plot(ax=ax2)時(shí)間序列二階差分圖如圖8.13所示。圖8.13時(shí)間序列二階差分可以看出二階差分后的時(shí)間序列與一階差分相差不大,并且二者隨著時(shí)間的推移,時(shí)間序列的均值和方差保持不變。因此,可以將差分次數(shù)d設(shè)置為1。生存分析什么是生存?生存的意義很廣泛,可以指人或動(dòng)物的存活(相對(duì)于死亡),可以是患者的病情正處于緩解狀態(tài)(相對(duì)于再次復(fù)發(fā)或惡化),還可以是某個(gè)系統(tǒng)或產(chǎn)品正常工作(相對(duì)于失效或故障),對(duì)象是壽命超過某一時(shí)間的概率。還可以描述其他一些事情發(fā)生的概率,例如產(chǎn)品的失器的使用壽命等。概念生存分析是對(duì)一個(gè)或多個(gè)非負(fù)隨機(jī)變量進(jìn)行統(tǒng)計(jì)推斷,研究生存現(xiàn)象和響應(yīng)時(shí)間數(shù)據(jù)及其統(tǒng)計(jì)規(guī)律的一門學(xué)科。生存分析是既考慮結(jié)果又考慮生存時(shí)間,并可充分利用截尾數(shù)據(jù)所提供的不完全信息對(duì)生存時(shí)間的分布特征進(jìn)行描述,對(duì)影響生存時(shí)間的主要因素進(jìn)行分析。生存分析研究的內(nèi)容描述生存過程研究生存時(shí)間的分布特點(diǎn),估計(jì)生存率及平均存活時(shí)間,繪制生存曲線等,根據(jù)生存時(shí)間的長短可以估算出各個(gè)時(shí)點(diǎn)的生存率,并根據(jù)生存率來估計(jì)中位生存時(shí)間,也可以根據(jù)生存曲線分析其生存特點(diǎn),一般使用Kaplan-Meier法和壽命表法。比較生存過程可通過生存率及其標(biāo)準(zhǔn)誤對(duì)各樣本的生存率進(jìn)行比較,以探討各組間的生存過程是否存在差異,一般使用Log-rank檢驗(yàn)和Breslow檢驗(yàn)。分析危險(xiǎn)因素通過生存分析模型來探討影響生存時(shí)間和終點(diǎn)事件的保護(hù)因素和不利因素、因素作用的大小及方向、相對(duì)危險(xiǎn)度的大小,基本使用Cox回歸模型。建立數(shù)學(xué)模型建立最終的數(shù)學(xué)模型通過Cox回歸模型完成。生存分析對(duì)資料的基本要求樣本由隨機(jī)抽樣方法獲得,要有一定的數(shù)量,死亡例數(shù)和比例不能太少。完整數(shù)據(jù)所占的比例不能太少,即截尾值不宜太多。截尾值出現(xiàn)的原因無偏性,為防止偏性,經(jīng)常對(duì)被截尾的研究對(duì)象的年齡、職業(yè)、地區(qū)、病情輕重等情況進(jìn)行分析。生存時(shí)間盡可能精確。缺項(xiàng)要盡量補(bǔ)齊。生存資料的共同特點(diǎn)蘊(yùn)含結(jié)局和時(shí)間兩個(gè)方面的信息。結(jié)局為兩分類事件。一般通過隨訪收集得到,隨訪觀察往往是從某統(tǒng)一時(shí)間點(diǎn)(如入院或?qū)嵤┦中g(shù)等某種處理措施后)開始,觀察到某規(guī)定時(shí)間點(diǎn)截止。常因失訪等原因造成研究對(duì)象的生存時(shí)間數(shù)據(jù)不完整,分布類型復(fù)雜,不能簡單地套用以前的方法。一些相關(guān)的基本概念起始事件:反映研究對(duì)象開始生存過程的起始特征事件,如研究某一治療對(duì)病人生存的影響的起始時(shí)間是“開始接受該治療”。終點(diǎn)事件(死亡事件):出現(xiàn)研究者所關(guān)心的特定結(jié)局,如“病人因該疾病死亡”。觀察時(shí)間:從研究開始觀察到研究觀察結(jié)束的時(shí)間。由于研究時(shí)長無法無限延伸下去,因此研究一定會(huì)在某個(gè)特定時(shí)刻截止,而研究截止時(shí),所有觀察對(duì)象并不一定全都出現(xiàn)終點(diǎn)事件。換言之,有的研究對(duì)象在觀察結(jié)束之前出現(xiàn)終點(diǎn)事件,有的直到觀察結(jié)束時(shí)也沒有出現(xiàn)終點(diǎn)事件,還有一些特例中途因?yàn)槟承┰颍ㄈ缡гL、意外死亡等)被迫提前結(jié)束了觀察研究。生存時(shí)間:觀察到的存活時(shí)間,用符號(hào)t表示。完全數(shù)據(jù):從觀察起點(diǎn)到死亡事件所經(jīng)歷的時(shí)間,生存時(shí)間是完整的。截尾數(shù)據(jù)(刪失值):觀察時(shí)間不是由于終點(diǎn)事件而結(jié)束的,而是由于失訪、死于非研究因素、觀察結(jié)束而對(duì)象仍存活3種原因結(jié)束的。常在截尾數(shù)據(jù)的右上角放一個(gè)“+”表示其實(shí)該對(duì)象可能活得更久。生存分析的主要方法非參數(shù)法這類方法的特點(diǎn)是,無論分布形式如何,只根據(jù)樣本的順序統(tǒng)計(jì)量對(duì)生存率進(jìn)行估計(jì)。對(duì)于兩個(gè)及多個(gè)生存率進(jìn)行比較,其無效假設(shè)只是假定兩組或多組生存時(shí)間分布相同,而不對(duì)其具體的分布形式和參數(shù)進(jìn)行推斷。log-rank乘法極限法和壽命表法都是非參數(shù)法。參數(shù)法特點(diǎn)是假定生存時(shí)間服從特定的參數(shù)分布,然后根據(jù)已知的分布特點(diǎn)對(duì)生存時(shí)間進(jìn)行分析,如指數(shù)分布法、Weibull分布法、對(duì)數(shù)正態(tài)回歸分布法和Logistic回歸法。半?yún)?shù)法Cox比例風(fēng)險(xiǎn)回歸模型就是半?yún)?shù)法,具體介紹它時(shí)再說明為什么叫半?yún)?shù)法。生存分析公式模型概率密度函數(shù)f(t)表示每時(shí)刻死亡的概率:分布函數(shù)F(t):生存函數(shù)S(t)生存函數(shù)S(t):P(T≥t)個(gè)體生存時(shí)間大于t的概率。危險(xiǎn)函數(shù)h(t)累計(jì)危險(xiǎn)函數(shù)H(t)生存分析的目的估計(jì):根據(jù)樣本生存資料估計(jì)總體生存率及其他有關(guān)指標(biāo)(如中位生存期等),估計(jì)不同時(shí)間的生存率、生存曲線以及中位生存期等。比較:對(duì)不同處理組的生存率進(jìn)行比較,以了解哪種方案較優(yōu)。影響后,研究某個(gè)或某些因素對(duì)生存率的影響。預(yù)測:具有不同因素水平的個(gè)體生存預(yù)測。模擬實(shí)驗(yàn)代碼實(shí)現(xiàn)【例8.23】問題描述:泰坦尼克號(hào)的沉沒是歷史上非常有名的沉船之一。1912年4月15日,泰坦尼克號(hào)在處女航時(shí)與冰山相撞沉沒,2224名乘客和船員中有1502人遇難。這一聳人聽聞的悲劇震驚了國際社會(huì),并導(dǎo)致制定了更好的船舶安全法規(guī)。船難造成如此巨大的人員傷亡的原因之一是船上沒有足夠的救生艇供乘客和船員使用。雖然在沉船事件中幸存下來有運(yùn)氣因素,但有些人比其他人更有可能存活下來,比如婦女、兒童和上層階級(jí)。模擬實(shí)驗(yàn)分析中需要預(yù)測哪一類人更有可能存活下來。需要用機(jī)器學(xué)習(xí)的工具去預(yù)測哪些乘客在這次災(zāi)難中幸存。本例采用Anaconda3下的JupyterNotebook開發(fā)環(huán)境。內(nèi)容:導(dǎo)入必要的庫。數(shù)據(jù)分析。清理數(shù)據(jù)。選擇最佳模式。創(chuàng)建提交文件。##導(dǎo)入必要的庫In[1]:#dataanalysislibrariesimportnumpyasnpimportpandasaspd#visualizationlibrariesimportmatplotlib.pyplotaspltimportseabornassns%matplotlibinline#ignorewarningsimportwarningswarnings.filterwarnings('ignore')#讀取并探索數(shù)據(jù)In[2]:#importtrainandtestCSVfilestrain=pd.read_csv("D:\Anaconda3\workspace/train.csv")test=pd.read_csv("D:\Anaconda3\workspace/test.csv")#takealookatthetrainingdatatrain.describe(include="all")輸出:數(shù)據(jù)分析,將考慮數(shù)據(jù)集中的特性以及它們的完整性:In[3]:In[3]:#getalistofthefeatureswithinthedatasetprint(train.columns)輸出訓(xùn)練數(shù)據(jù)的列屬性:參閱數(shù)據(jù)集示例了解變量:訓(xùn)練數(shù)據(jù)集的摘要:檢查其他不可用的值:畫一個(gè)以性別做對(duì)比條件的生存幾率圖,這是因?yàn)槿蚨颊fladyfirst,女士優(yōu)先:性別生存率對(duì)比圖如圖8.14所示。圖8.14性別生存率對(duì)比圖按階層生存率對(duì)比,坐船有等級(jí)之分,像高鐵、飛機(jī)都有。這個(gè)屬性會(huì)對(duì)生產(chǎn)率產(chǎn)生影響。因?yàn)橐话阌绣X人、權(quán)貴才會(huì)住頭等艙。按階層生存率對(duì)比圖如圖8.15所示。圖8.15按階層生存率對(duì)比圖因?yàn)榫刃值芙忝枚鴮?dǎo)致自己沒有上救生船。兄弟姐妹生存率對(duì)比圖如圖8.16所示。圖8.16兄弟姐妹生存率對(duì)比圖父母和小孩生存率對(duì)比,有些人是帶著父母、小孩上船的,有可能因?yàn)橐雀改?、小孩耽誤上救生船。In[10]:In[10]:#drawabarplotforParchvs.survivalsns.barplot(x="Parch",y="Survived",data=train)plt.show()父母和小孩生存率對(duì)比圖如圖8.17所示。圖8.17父母和小孩生存率對(duì)比圖按年齡邏輯分類:按年齡邏輯分類圖如圖8.18所示。圖8.18按年齡邏輯分類圖計(jì)算CabinBool與存活的百分比:CabinBool與存活的百分比圖如圖8.19所示。圖8.19CabinBool與存活的百分比填充登錄地點(diǎn)缺失的值:創(chuàng)建兩個(gè)數(shù)據(jù)集(train&test)組合:用常用名稱替換標(biāo)題:將每個(gè)標(biāo)題組映射到一個(gè)數(shù)值:為每一個(gè)標(biāo)題填充缺失的年齡與模式年齡組:將每個(gè)年齡值映射到一個(gè)數(shù)值:In[18]:In[18]:#mapeachAgevaluetoanumericalvalueage_mapping={'Baby':1,'Child':2,'Teenager':3,'Student':4,'YoungAdu5,'Adult':6,'Senior':7}train['AgeGroup']=train['AgeGroup'].map(age_mapping)test['AgeGroup']=test['AgeGroup'].map(age_mapping)train.head()#droppingtheAgefeaturefornow,mightchangetrain=train.drop(['Age'],axis=1)test=test.drop(['Age'],axis=1)刪除name特性,因?yàn)樗话嘤杏玫男畔ⅲ篒n[19]:In[19]:#dropthenamefeaturesinceitcontainsnomoreusefulinformation.train=train.drop(['Name'],axis=1)test=test.drop(['Name'],axis=1)將每個(gè)性別值映射到一個(gè)數(shù)值:將每個(gè)登船值映射到一個(gè)數(shù)值:根據(jù)艙級(jí)的平均票價(jià),在test集中填寫缺失的票價(jià)值:檢測train集的數(shù)據(jù):檢測test集的數(shù)據(jù):生存預(yù)測模型分析:In[25]:In[25]:fromsklearn.model_selectionimporttrain_test_splitpredictors=train.drop(['Survived','PassengerId'],axis=1)target=train["Survived"]x_train,x_val,y_train,y_val=train_test_split(predictors,target,test_si=0.22,random_state=0)高斯樸素貝葉斯:In[26]:In[26]:#GaussianNaiveBayesfromsklearn.naive_bayesimportGaussianNBfromsklearn.metricsimportaccuracy_scoregaussian=GaussianNB()gaussian.fit(x_train,y_train)y_pred=gaussian.predict(x_val)acc_gaussian=round(accuracy_score(y_pred,y_val)*
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 造紙廠安全生產(chǎn)管理制度
- 生產(chǎn)廠區(qū)內(nèi)廢水管理制度
- 浙江省生產(chǎn)安全通報(bào)制度
- 申辦生產(chǎn)許可證所需制度
- 鐵路安全生產(chǎn)屏保制度
- 噴水紡織廠生產(chǎn)管理制度
- 作業(yè)區(qū)安全生產(chǎn)責(zé)任制度
- 鹽漬池安全生產(chǎn)管理制度
- 養(yǎng)殖場安全生產(chǎn)規(guī)章制度
- 物流貨運(yùn)安全生產(chǎn)制度
- 交通銀行理財(cái)合同范本
- 肺結(jié)節(jié)的影像學(xué)表現(xiàn)
- 藥廠新員工培訓(xùn)課件
- 放射性皮膚損傷護(hù)理指南
- 2025年青島市中考數(shù)學(xué)試卷(含答案解析)
- 下肢動(dòng)脈栓塞的護(hù)理
- 總經(jīng)理聘用管理辦法
- 長護(hù)險(xiǎn)護(hù)理培訓(xùn)
- DB34∕T 4648-2023 鋼結(jié)構(gòu)橋梁頂推施工技術(shù)規(guī)程
- 2025年時(shí)政100題(附答案)
- 貸款用別人名字協(xié)議書
評(píng)論
0/150
提交評(píng)論