99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁(yè)精彩閱讀數(shù)值型數(shù)據(jù)的探索分析
數(shù)值型數(shù)據(jù)的探索分析
2017-01-31
收藏

數(shù)值型數(shù)據(jù)的探索分析

數(shù)據(jù)分析過(guò)程中,往往需要對(duì)數(shù)據(jù)作基本的探索性分析,查看數(shù)據(jù)是否存在問(wèn)題,如缺失值數(shù)量、是否存在明顯的異常值、數(shù)據(jù)是如何分布的、數(shù)據(jù)的集中趨勢(shì)和離散趨勢(shì)等。

探索性分析一般包括三大部分,即數(shù)據(jù)的分布情況、數(shù)據(jù)的集中與離散趨勢(shì)和數(shù)據(jù)的分布形態(tài):

首先來(lái)看看關(guān)于數(shù)據(jù)分布情況的探索性分析。一般統(tǒng)計(jì)中通過(guò)5數(shù)就可以大致了解數(shù)據(jù)的分布,他們是最小值、下四分位數(shù)、中位數(shù)、上四分位數(shù)和最大值。

其次看看數(shù)據(jù)的集中趨勢(shì)和離散趨勢(shì),通過(guò)集中趨勢(shì)可以了解數(shù)據(jù)的中心值或代表值,通過(guò)離散趨勢(shì)可以了解數(shù)據(jù)遠(yuǎn)離中心的程度。關(guān)于集中趨勢(shì),一般可使用均值、眾數(shù)、中位數(shù)來(lái)衡量,離散趨勢(shì)一般通過(guò)標(biāo)準(zhǔn)差、極差和四分位差來(lái)體現(xiàn)。

最后看看數(shù)據(jù)的分布形態(tài),數(shù)據(jù)的分布形態(tài)無(wú)非是相比于正態(tài)分布而言,即偏度和峰度。偏度是數(shù)據(jù)分布形態(tài)呈現(xiàn)左偏或右偏;峰度是數(shù)據(jù)分布形態(tài)呈現(xiàn)尖瘦或矮胖。對(duì)于偏度和峰度需要說(shuō)明的是:若偏度=0,則無(wú)偏;若偏度>0,則有偏;若偏度<0,則左偏;若峰度=0,則陡峭程度與正態(tài)分布一致;如峰度>0,則分布陡峭;若峰度<0,則分布平緩。

下面從定量和定性的角度看觀察數(shù)據(jù)的探索性分析過(guò)程:

自定義函數(shù)describe_statistics,函數(shù)返回變量的觀測(cè)數(shù)目、缺失值數(shù)目、最小值、下四分位數(shù)、中位數(shù)、上四分位數(shù)、最大值、均值、眾數(shù)、標(biāo)準(zhǔn)差、極差、四分位差、偏度和峰度。這里的自定義函數(shù)返回結(jié)果類似于SAS的輸出結(jié)果形態(tài):

```{r}

describe_statistics <- function(x){

options(digits = 3)

require(timeDate);

N = length(x);

Nmiss = sum(is.na(x));

Min = min(x, na.rm = TRUE);

Q1 = quantile(x, probs = 0.25, na.rm = TRUE);

Median = median(x, na.rm = TRUE);

Q3 = quantile(x, probs = 0.75, na.rm = TRUE);

Max = max(x, na.rm = TRUE);

Mean = mean(x, na.rm = TRUE);

Mode = as.numeric(names(table(x)))[which.max(table(x))];

Sd = sd(x, na.rm = TRUE);

Range = abs(diff(range(x)));

QRange = IQR(x, na.rm = TRUE);

Skewness = skewness(x, na.rm = TRUE);

Kurtosis = kurtosis(x, na.rm = TRUE);

#返回函數(shù)結(jié)果

return(data.frame(N = N, Nmiss = Nmiss, Min = Min, Q1 = Q1, Median = Median, Q3 = Q3, Max = Max, Mean = Mean, Mode = Mode, Sd = Sd, Range = Range, QRange = QRange, Skewness = Skewness, Kurtosis = Kurtosis))

}

```

下面我們就用這個(gè)自定義函數(shù)來(lái)測(cè)試一下,通過(guò)上面的這些統(tǒng)計(jì)量值來(lái)探索數(shù)據(jù)分布、集中趨勢(shì)、離散趨勢(shì)和分布形態(tài)。由于本文講解的是數(shù)值型數(shù)據(jù)的探索分析,故需要將數(shù)據(jù)框中的數(shù)值型數(shù)據(jù)挑選出來(lái),仍然自定義函數(shù),返回?cái)?shù)據(jù)框中所有數(shù)值型數(shù)據(jù)的字段

```{r}

Value_Variables <- function(df){

Vars <- names(df)[sapply(df,class) == 'integer' | sapply(df,class) == 'numeric']

return(Vars)

}

```

以R中自帶的iris數(shù)據(jù)集測(cè)試:

```{r}

vars <- Value_Variables(iris)

res <- sapply(iris[,vars], describe_statistics)

res

```

上面的結(jié)果呈現(xiàn)了鳶尾花四個(gè)數(shù)值型變量的探索性分析。

以C50包中的churnTrain數(shù)據(jù)集測(cè)試:

```{r}

library(C50)

data(churn)

vars <- Value_Variables(churnTrain)

res <- sapply(churnTrain[,vars], describe_statistics)

res

```

很顯然,當(dāng)變量很多時(shí),這樣的返回結(jié)果讓人看的很難受,如要使輸出結(jié)果便讀的話,可以將返回結(jié)果轉(zhuǎn)置:

```{r}

t(res)

```

這會(huì)結(jié)果要比較整齊,好看。

以上是從定量的角度來(lái)探索數(shù)據(jù)的分布、集中趨勢(shì)、離散趨勢(shì)和分布形態(tài),下面我們簡(jiǎn)單介紹一下定性的方法。

從定性角度,即通過(guò)可視化來(lái)進(jìn)行數(shù)據(jù)的探索性分析,強(qiáng)烈推薦使用GGally包中的ggpairs()函數(shù),該函數(shù)將繪制兩兩變量的相關(guān)系數(shù)、散點(diǎn)圖,同時(shí)也繪制出單變量的密度分布圖:

```{r}

library(GGally)

vars <- Value_Variables(iris)

ggpairs(iris[,vars])

```

上圖不僅僅反映了數(shù)據(jù)的分布情況、還得出兩兩變量間的散點(diǎn)圖和相關(guān)系數(shù),可為下一步分析做鋪墊。

數(shù)據(jù)的探索性分析過(guò)程中,通過(guò)定量和定性方法的搭配,可使分析者快速的了解數(shù)據(jù)的結(jié)構(gòu)、分布及內(nèi)在關(guān)系。


數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說(shuō)明請(qǐng)參見(jiàn):http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }