本發(fā)明涉及數(shù)據(jù)分析領(lǐng)域,特別涉及一種iOS設(shè)備數(shù)據(jù)分析系統(tǒng)。
背景技術(shù):
在我國,隨著移動互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展和廣泛應(yīng)用,移動智能終端設(shè)備大量普及于民眾,移動應(yīng)用依托于智能設(shè)備每天都產(chǎn)生大量的使用數(shù)據(jù)。如何有效的使用這些數(shù)據(jù),提高移動應(yīng)用的質(zhì)量與安全成為一個新的研究方向。
用戶信息個性化特征明顯,涉及到健康參數(shù)、運動情況、飲食習(xí)慣等各個方面,借助數(shù)據(jù)分析、處理整合之后具有很大的商業(yè)價值,可供軟件開發(fā)者應(yīng)用于醫(yī)療、社交、娛樂等多個方面。移動應(yīng)用的未來發(fā)展將圍繞如何實現(xiàn)用戶數(shù)據(jù)價值而進行。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是:提供一種iOS設(shè)備數(shù)據(jù)分析系統(tǒng),對iOS設(shè)備的數(shù)據(jù)進行分析。
為解決上述問題,本發(fā)明采用的技術(shù)方案是:一種iOS設(shè)備數(shù)據(jù)分析系統(tǒng),包括:
均值分析模塊,采用一種針對數(shù)據(jù)呈現(xiàn)正太分布模型的分析方法,對數(shù)據(jù)進行分析;
線性回歸分析模塊,采用一種針對呈現(xiàn)線性分布模型的分析方法,對數(shù)據(jù)進行分析;
邏輯回歸分析模塊,采用一種針對數(shù)據(jù)呈現(xiàn)二分類分布的分析方法,對數(shù)據(jù)進行分析;
聚類分析模塊,采用一種針對數(shù)據(jù)呈現(xiàn)聚合分布的分析方法,對數(shù)據(jù)進行分析。
具體的,均值分析模塊的具體分析步驟包括:
步驟a1:獲取可信的原始數(shù)據(jù)以及待驗證的數(shù)據(jù);這里用戶需要提供數(shù)據(jù),其中用戶提供的數(shù)據(jù)需要包含2個部分:1、用戶需要提供正確的原始數(shù)據(jù),數(shù)據(jù)必須是可信的且數(shù)據(jù)量不能太?。?、用戶需要提供待驗證的數(shù)據(jù)。待驗證的數(shù)據(jù)沒有數(shù)據(jù)量的限制。
步驟a2:根據(jù)可信的原始數(shù)據(jù),建立高斯算法模型;
步驟a3:將待驗證的數(shù)據(jù)帶入到建立的高斯算法模型中,得出所述待驗證的數(shù)據(jù)的概率,對結(jié)果求平均值;
步驟a4:將分析得出的結(jié)果輸出給用戶。
具體的的,線性回歸分析模塊的具體分析步驟包括:
步驟b1:獲取經(jīng)驗數(shù)據(jù)和待驗證的數(shù)據(jù);這里用戶提供的數(shù)據(jù)需要包含2個部分:1、用戶需要提供正確的原始經(jīng)驗數(shù)據(jù),數(shù)據(jù)必須是可信的且數(shù)據(jù)量不能太??;2、用戶需要提供待驗證的數(shù)據(jù)。待驗證的數(shù)據(jù)沒有數(shù)據(jù)量的限制;
步驟b2:根據(jù)經(jīng)驗數(shù)據(jù),建立線性回歸分析模型;
步驟b3:對建立的線性回歸分析模型進行檢驗;
步驟b4:將待要驗證數(shù)據(jù)源帶入到檢驗后的線性回歸分析模型中,求出可決系數(shù);
步驟b5:將分析得出的結(jié)果輸出給用戶。
進一步的,步驟b2首先建立含系數(shù)的模型,然后采用最小二乘法和梯度下降法,找到殘差最小時的參數(shù)值,從而確定模型的系數(shù)。
進一步的,步驟b3采用擬和優(yōu)度檢驗線性回歸分析模型。
具體的,邏輯回歸分析模塊的具體分析步驟包括:
步驟c1:獲取經(jīng)驗數(shù)據(jù)和待驗證的數(shù)據(jù);一般是從可信數(shù)據(jù)庫加載經(jīng)驗數(shù)據(jù),得到一個可供分析的多維數(shù)據(jù)集合;
步驟c2:根據(jù)經(jīng)驗數(shù)據(jù),確定函數(shù)形式并訓(xùn)練算法模型,得到回歸系數(shù);
步驟c3:檢驗步驟c2得到的回歸系數(shù),若檢驗結(jié)果表明步驟c2的算法模型顯著則繼續(xù)步驟c4,否則返回步驟c2重新訓(xùn)練其他算法模型;
步驟c4:使用步驟c2的算法模型對待驗證的數(shù)據(jù)進行分析,得到相應(yīng)的分類結(jié)果,結(jié)果以閾值為界線,大于閾值,則輸出結(jié)果是,小于閾值,則輸出結(jié)果否。
進一步的,步驟從c2包括:
c21、將經(jīng)驗數(shù)據(jù)轉(zhuǎn)換為模型需要的數(shù)據(jù)格式;
c22、確定邏輯回歸模型函數(shù)形式;
c23、訓(xùn)練算法,得到回歸系數(shù)。
進一步的,步驟c23中,訓(xùn)練算法采用梯度上升法得到回歸系數(shù)。
進一步的,步驟c3使用似然比檢驗法檢驗得到的回歸系數(shù)。
具體的,聚類分析模塊的具體分析步驟包括:
步驟d1:獲取經(jīng)驗數(shù)據(jù)與待校驗數(shù)據(jù),將經(jīng)驗數(shù)據(jù)與待校驗數(shù)據(jù)據(jù)合并,并整理合并后的數(shù)據(jù),得到一個可供分析的多維度數(shù)據(jù)集合;
步驟d2:將整理后的數(shù)據(jù)通過多次的迭代計算,得到聚類分布模型;
步驟d3:將待校驗數(shù)據(jù)與得到的聚類分布模型進行分析,得到待校驗數(shù)據(jù)之于模型的一個權(quán)重值,然后輸出結(jié)果。
進一步的,步驟d2包括:
d21:計算數(shù)據(jù)的平均歐式距離,作為初始聚類標(biāo)準;
d22、根據(jù)聚類標(biāo)準使用快速聚類算法,得到首次聚類分布;
d23、重新計算中心點,不斷調(diào)用快速聚類算法,最后得到穩(wěn)定分布。
本發(fā)明的有益效果是:本發(fā)明主要針對當(dāng)前iPhone等iOS設(shè)備能收集到的用戶數(shù)據(jù)進行本地化分析,在盡可能少的占用主應(yīng)用程序資源的前提下,在應(yīng)用后臺進行數(shù)據(jù)分析輸出結(jié)果。本發(fā)明整個數(shù)據(jù)分析系統(tǒng),沒有涉及到通用的對用戶信息的建模分析,對用戶不同的行為進行了均值分析,線性回歸分析,邏輯回歸分析,與聚類分析等進行建模,可以幫助開發(fā)人員分析用戶數(shù)據(jù),從而提供優(yōu)化服務(wù)。
附圖說明
圖1是數(shù)據(jù)分析整體結(jié)構(gòu)圖;
圖2是均值分析流程圖;
圖3是線性回歸分析流程圖;
圖4是邏輯回歸分析流程圖;
圖5是聚類分析流程圖。
具體實施方式
發(fā)明采用了多線程,異步并行等多種方式進行分析操作。如圖1所示,系統(tǒng)能夠進行四種形式的分析,包括四種分析模塊:均值分析模塊、線性回歸分析模塊、邏輯回歸分析模塊、聚類分析模塊。每個模塊獨立承擔(dān)各自的分析任務(wù),也可以將幾種分析模塊組合使用,實現(xiàn)某些數(shù)據(jù)分析的需求。整個系統(tǒng)可以編譯成靜態(tài)庫,在其他iPhone應(yīng)用中使用,實現(xiàn)數(shù)據(jù)分析的目的。
A.均值分析
均值分析模塊主要用來對服從正態(tài)分布模型的數(shù)據(jù)的正確性校驗,算法主要采用高斯算法模型進行校驗,最后的輸出結(jié)果時一個介于0到1的概率值,數(shù)值越大則正確性越高。分析的過程會依次對輸入的數(shù)據(jù)進行驗證從而獲取一個概率值,然后對所有的概率值取平均值,獲得結(jié)果。
B.線性回歸分析
線性回歸模塊主要是用來處理由一組樣本數(shù)據(jù)出發(fā),確定變量之間的數(shù)學(xué)模型關(guān)系式的算法。獲取變量的參數(shù)主要采用最小二乘法和梯度下降法,整個分析過程是找到殘差最小時的參數(shù)值。得出參數(shù)之后,求出模型,求出此模型的可決系數(shù),可決系數(shù)越大說明擬合程度越高,最后輸出結(jié)果。
C.邏輯回歸分析
邏輯回歸分析模塊主要用來分析得到最新收集到的數(shù)據(jù)的分類結(jié)果。算法使用已知分類結(jié)果的經(jīng)驗數(shù)據(jù)訓(xùn)練模型,采用遞度上升法(梯度上升的思想是:要找到某函數(shù)的最大值,最好的方法是沿著該函數(shù)的梯度方向?qū)ふ?得到模型回歸系數(shù)。最后輸出結(jié)果為表征新數(shù)據(jù)所在分類的一個權(quán)重值。輸于結(jié)果一般以0.5為界線分類,選擇0.5作為閾值是一般做法,實際應(yīng)用時特定的情況可以選擇不同閾值,如果對正例的判別準確性要求高,可以選擇閾值大一些,對正例的召回要求高,則可以選擇閾值小一些。
D.聚類分析
聚類分析模塊主要用來處理含有定類變量、定量(離散和連續(xù))變量的數(shù)據(jù)。算法主體采用快速聚類算法,聚類指標(biāo)使用數(shù)據(jù)之間歐式距離。最后輸出結(jié)果為待校驗數(shù)據(jù)所在聚類的一個權(quán)重值。整個分析過程是一個尋找穩(wěn)定聚類分布的過程,模塊初始化會定義一個最大運算次數(shù)保證最后有穩(wěn)定分布輸出。數(shù)據(jù)加入聚類分析模塊過后會計算一個平均歐式距離作為首次聚類標(biāo)準,然后用快速聚類算法形成初始聚類。接下來不斷重新構(gòu)建聚類中心與分布,迭代直到得到穩(wěn)定分布,輸出結(jié)果。
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖2-5對以上四個模塊的詳細技術(shù)實施方案進行說明
一、均值分析流程:
如流程圖2所示,包含以下步驟:進入均值分析系統(tǒng),首先進入S1步驟獲取數(shù)據(jù)源。在S2步驟中根據(jù)S1步驟獲取的數(shù)據(jù)建立模型,模型建立成功后在S3步驟中通過模型驗證數(shù)據(jù)。獲取數(shù)據(jù)的結(jié)果后在S4步驟中計算S3步驟中獲取的值的均值。S5步驟將S4步驟計算的均值輸出得到結(jié)果。
上述S2步驟包含以下幾步驟:
a1、通過獲取的可信數(shù)據(jù)求出期望值,求期望值的公式如下:
E[X]=∫ΩX dP
a2、通過a1步驟求出的期望值和獲取的可信數(shù)據(jù)求出標(biāo)準差,求標(biāo)準差的公式如下:
a3、通過a1、a2步驟獲取期望值和標(biāo)準差后就可以建立數(shù)據(jù)模型,建立模型的公式如下:
二、線性回歸分析流程:
如圖3所示,包含以下步驟:首先流程開始進入S1步驟傳入數(shù)據(jù),此數(shù)據(jù)是從本地沙盒的可信存儲空間中獲取,然后進入步驟S2,構(gòu)建數(shù)據(jù)模型,根據(jù)線性分析的數(shù)據(jù)條件,構(gòu)建線性回歸分析模型,模型構(gòu)建完成后進入步驟S3,校驗?zāi)P?,若模型誤差符合線性規(guī)劃的誤差范圍,則利用該模型進行數(shù)據(jù)分析,進入步驟S4分析數(shù)據(jù),并輸出結(jié)果,若校驗出來的數(shù)據(jù)不符合線性規(guī)劃模型,則結(jié)束流程。
上述步驟S2包含以下子步驟:
b1、建立模型:
模型如下:
Y=β1+β2X+μ
b2、參數(shù)估計:
使用最小二乘法對數(shù)據(jù)進行擬合,為了使總得擬合誤差達到最小,可以使用最小二乘法的原則是以“殘差平方和最小”確定直線位置。
殘差平方和:
b3、求出該模型的系數(shù):
通過Q最小確定這條直線,即確定和以和為變量把它看做Q的函數(shù),就變成了一個求極值的問題,求Q對兩個待估參數(shù)的偏導(dǎo)數(shù),可以求得兩參數(shù)為:
所以可得模型為:
若為多元線性回歸,則模型可表示為:
Y=β0+β1X1+β2X2+…+βmXm+e
求解過程與一元相似,可先求出偏回歸系數(shù),b0,b1,b2,…,bm,求出回歸方程如下:
最后對方程進行檢驗,檢驗過程與一元類似。
上述步驟S3是對模型檢驗算法的分析說明如下:
此處采用擬合優(yōu)度檢驗,對樣本回歸直線與樣本觀測值之間擬合程度的檢驗。
TSS=RSS+ESS
TSS為總離差平方和,ESS為回歸平方和,RSS為殘差平方和,在給定樣本中,TSS不變,實際觀測點離樣本回歸線越近,則ESS在TSS中占得比重越大,擬合優(yōu)度就是回歸平方和ESS/Y的總離差平方和。
由上述公式計算出可決系數(shù)進行模型校驗;
上述步驟S4做以下說明:
可決系數(shù)的取值范圍[0,1]。R2越接近1,擬合優(yōu)度越高,一般要求R2≥0.7
如果R2≥0.7則說明該模型可靠程度較高,說明該模型符合當(dāng)前環(huán)境,在以后的分析可以使用該模型進行分析。
三、邏輯回歸分析流程:
如圖4所示,流程包含以下步驟:首先進入S1步驟輸入可信數(shù)據(jù)庫中的經(jīng)驗數(shù)據(jù),得到一個可供分析的多維數(shù)據(jù)集合。在步驟S2中根據(jù)S1步驟輸入的數(shù)據(jù)確定邏輯回歸的函數(shù)形式,構(gòu)建模型,接下來S3步驟檢驗S2步驟構(gòu)建的模型,若檢驗結(jié)果表明模型顯著則繼續(xù)S4步驟,否則流程結(jié)束。接下來,S4步驟輸入新數(shù)據(jù)得到新數(shù)據(jù)的分析結(jié)果。最后S5步驟將S4得到的分析結(jié)果輸出得到分類結(jié)果。
上述步驟S2包含以下子步驟:
c1、將步驟S1輸入的經(jīng)驗數(shù)據(jù)轉(zhuǎn)換為模型需要的數(shù)據(jù)格式;
c2、確定函數(shù)形式并確定訓(xùn)練算法;
c3、使用訓(xùn)練算法,得到回歸系數(shù)。
構(gòu)建模型算法描述如下:
首先,邏輯回歸是一種廣義的線性回歸,因此與多重線性回歸形式上基本相同,都具有y=wx+b的形式,區(qū)別在于線性回歸直接將wx+b作為因變量,而邏輯回歸通過一個函數(shù)L將wx+b轉(zhuǎn)換為一個隱狀態(tài)p,即p=L(wx+b),L通常稱為sigmod函數(shù),其具有如下形式:
對于S1得到的多維數(shù)據(jù):
y(x)=w0+w1x1+w2x2…+wNxN=WTx
p(x)有特殊含義,表示結(jié)果取1的概率。
訓(xùn)練算法采用梯度上升算法得到最優(yōu)回歸系數(shù),梯度上升法的思想是:要找到某函數(shù)的最大值,最好的方法是沿著該函數(shù)的梯度方向?qū)ふ?。函?shù)f(x,y)的梯度可以表示:
梯度上升算法意味著沿著梯度方向移動,到達每個點后都會重新計算梯度確定移動的方向,如此循環(huán)迭代,直到滿足停止條件,而迭代的過程中,梯度算子總是保證能選取到最佳的移動方向。梯度算法迭代公式如下:
該公式將一直被迭代執(zhí)行,直至達到某個停止條件,比如迭代次數(shù)達到某個指定值或算法達到某個可以允許的誤差范圍。
步驟S3所述模型校驗算法采用似然比檢驗(Likelihood ratio test),似然比檢驗算法思想是:在一個模型里面,含有變量xi和不含有變量xi的對數(shù)似然值乘以-2的結(jié)果之差,服從χ2分布,這一檢驗統(tǒng)計量稱為似然比檢驗。
四、聚類分析流程:
如圖5所示,流程包含以下步驟:首先進入S1步驟將待校驗數(shù)據(jù)與經(jīng)驗數(shù)據(jù)整理后傳入分析模塊。在S2步驟構(gòu)建聚合,得到穩(wěn)定的聚類分布,接下來S3步驟計算待校驗數(shù)據(jù)所在聚類的權(quán)重。最后將獲取到權(quán)重在S4步驟輸出。至此流程結(jié)束。
上述S2步驟包含以下子步驟:
d1、計算輸入數(shù)據(jù)的平均歐式距離,作為初始聚類標(biāo)準。
d2、根據(jù)聚類標(biāo)準,使用快速聚類算法,得到首次聚類分布。
d3、重新計算中心點然后不斷調(diào)用快速聚類算法,最后得到穩(wěn)定的聚類分布。
快速聚類算法描述:
首先根據(jù)輸入數(shù)據(jù)計算出一個平均歐式距離,公式如下:
其中n代表數(shù)據(jù)總數(shù),X,Y…Z為單個數(shù)據(jù)各個緯度的值,數(shù)據(jù)可以是多維的。
然后確定首次聚類分布,過程如下:
d21、隨機選取一個數(shù)據(jù)作為初始點,形成一個聚合,此時只包含該初始值。
d22、遍歷剩下的數(shù)據(jù),求出每個數(shù)據(jù)與初始點的距離d,如果某個數(shù)據(jù)的距離則把數(shù)據(jù)加入到該聚合中。
d23將已加入聚合的數(shù)據(jù)從原數(shù)據(jù)集合中刪除,如果所有數(shù)據(jù)都加入了聚合,過程就結(jié)束。如果還有數(shù)據(jù)未加入聚合,就回到步驟d21,重復(fù)整個過程。
接下來,計算各個聚合的中心點,計算公式如下;
這里的n代表當(dāng)前聚合的數(shù)據(jù)總數(shù),X,Y…Z為單個數(shù)據(jù)各個緯度的值,數(shù)據(jù)可以是多維的。
這樣就形成了與聚合數(shù)量相同k個中心點,然后重新遍歷原來所有數(shù)據(jù),將數(shù)據(jù)與k個中心點的距離作比較,將數(shù)據(jù)加入距離最短的那個中心所在的聚合,這樣就形成了一個新的聚類分布。重復(fù)最后這兩個步驟,直到最后的聚類分布不再改變,就得到穩(wěn)定的聚類分布。
以上描述了本發(fā)明的基本原理和主要的特征,說明書的描述只是說明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會有各種變化和改進,這些變化和改進都落入要求保護的本發(fā)明范圍內(nèi)。