• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種基于方差分析的電子商務(wù)銷售數(shù)據(jù)分析系統(tǒng)

      2021-03-07 12:36:37葉長青
      電腦知識(shí)與技術(shù) 2021年36期
      關(guān)鍵詞:方差分析分布式

      葉長青

      摘要:該系統(tǒng)為電子商務(wù)網(wǎng)站提供一個(gè)銷售數(shù)據(jù)分析解決方案。系統(tǒng)保存電子商務(wù)網(wǎng)站的銷售數(shù)據(jù),可以隨時(shí)對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)計(jì)算,快速獲得結(jié)果。系統(tǒng)采用方差分析算法對(duì)數(shù)據(jù)進(jìn)行分析,利用分布式結(jié)構(gòu)和內(nèi)存數(shù)據(jù)庫進(jìn)行算法的計(jì)算,提高了計(jì)算的速度和便利性。

      關(guān)鍵詞: 商務(wù)統(tǒng)計(jì);分布式;方差分析

      中圖分類號(hào):TP311.5? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A

      文章編號(hào):1009-3044(2021)36-0048-03

      開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):

      1 現(xiàn)狀和本系統(tǒng)的特點(diǎn)

      隨著電子商務(wù)的發(fā)展,對(duì)分析工具的需求也在快速增長。本文通過分析銷售數(shù)據(jù),電子商務(wù)網(wǎng)站可以分析顧客的偏好,從而決定開發(fā)、營銷何種產(chǎn)品,反過來用戶可以隨時(shí)隨地查看、分析自己的數(shù)據(jù),并且可以通過電腦、手機(jī)、平板等各種終端。只要能連上網(wǎng)絡(luò),用戶就可以使用分析工具的功能。

      盡管存在很多銷售數(shù)據(jù)分析工具,但是一般只是對(duì)某個(gè)數(shù)據(jù)的縱向比較,例如,將過去一年的銷售量以折線圖、餅圖等形式表示,僅可以將不同數(shù)據(jù)顯示在一張圖表上,不能指示各個(gè)數(shù)據(jù)間的關(guān)系。市面上缺少一種可以將各個(gè)數(shù)據(jù)橫向比較、分析各個(gè)銷售數(shù)據(jù)間關(guān)系的工具。目前,如果要做這樣的分析,分析人員只能將銷售數(shù)據(jù)導(dǎo)出,借助于專門的數(shù)學(xué)工具進(jìn)行計(jì)算。這種方法非常不便,而且門檻過高,該系統(tǒng)致力于簡化步驟、拉低門檻。

      現(xiàn)有方法的另一個(gè)缺點(diǎn)是,統(tǒng)計(jì)學(xué)分析軟件如SPSS是桌面程序,計(jì)算過程需要在本機(jī)實(shí)現(xiàn),因此計(jì)算速度受到用戶計(jì)算機(jī)性能的限制。并且,它只能在特定的操作系統(tǒng)下運(yùn)行,沒有平臺(tái)擴(kuò)展性,更不必說在手機(jī)、平板等移動(dòng)設(shè)備上運(yùn)行。

      該系統(tǒng)是一個(gè)便于使用的、一站式的銷售數(shù)據(jù)橫向比較工具。用戶通過系統(tǒng)提供的API,將該系統(tǒng)與電子商務(wù)網(wǎng)站整合,當(dāng)用戶需要分析時(shí),指定需要分析的相關(guān)數(shù)據(jù),系統(tǒng)就在后臺(tái)計(jì)算出結(jié)果。通過分布式的結(jié)構(gòu),將算法的計(jì)算工作分發(fā)到多個(gè)節(jié)點(diǎn)進(jìn)行同時(shí)運(yùn)行,提高同一時(shí)間能運(yùn)行的計(jì)算數(shù)量。響應(yīng)速度則對(duì)算法本身進(jìn)行優(yōu)化,提高單個(gè)算法的運(yùn)行速度。

      2 系統(tǒng)架構(gòu)與開發(fā)技術(shù)介紹

      2.1 系統(tǒng)架構(gòu)設(shè)計(jì)

      系統(tǒng)大致分為三個(gè)部分:Web部分、計(jì)算部分、數(shù)據(jù)庫部分。Web部分提供對(duì)外(客戶端)的接口,計(jì)算部分處理算法的運(yùn)算操作,數(shù)據(jù)庫部分存儲(chǔ)電子商務(wù)網(wǎng)站的原始銷售數(shù)據(jù)和分析后的數(shù)據(jù)。每個(gè)部分可以是單個(gè)服務(wù)器,也可以是服務(wù)器集群,如圖1所示。

      客戶端調(diào)用Web服務(wù)器提供的接口,導(dǎo)入、添加數(shù)據(jù),并且發(fā)出數(shù)據(jù)分析請(qǐng)求。Web服務(wù)器將原始數(shù)據(jù)寫入數(shù)據(jù)庫,并且將計(jì)算任務(wù)交給計(jì)算服務(wù)器。計(jì)算服務(wù)器從數(shù)據(jù)庫獲取數(shù)據(jù),計(jì)算完成后,再將結(jié)果寫入數(shù)據(jù)庫。計(jì)算服務(wù)器不通知Web服務(wù)器計(jì)算完成,客戶端向Web服務(wù)器請(qǐng)求結(jié)果時(shí),Web服務(wù)器向數(shù)據(jù)庫查詢,如果有結(jié)果則返回給客戶端,否則返回提示信息正在計(jì)算中。

      2.2 開發(fā)環(huán)境介紹

      2.2.1 Python

      本系統(tǒng)主要采用Python語言開發(fā),Python是一種解釋型、面向?qū)ο蟆?dòng)態(tài)數(shù)據(jù)類型的高級(jí)程序設(shè)計(jì)語言,它具有很多專用的科學(xué)計(jì)算庫,比如:NumPy、SciPy和matplotlib,它們分別為Python提供了快速數(shù)組處理、數(shù)值運(yùn)算以及繪圖功能,十分適合本系統(tǒng)的開發(fā)和維護(hù)[1]。Python語言及其眾多的擴(kuò)展庫所構(gòu)成的開發(fā)環(huán)境十分適合工程技術(shù)、科研人員處理實(shí)驗(yàn)數(shù)據(jù)、制作圖表,甚至開發(fā)科學(xué)計(jì)算應(yīng)用程序[2]。

      2.2.2 MongoDB

      MongoDB是一個(gè)開源的、高性能、無模式的文檔型數(shù)據(jù)庫,它是介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫中功能最豐富的。它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json的json格式,因此可以存儲(chǔ)比較復(fù)雜的數(shù)據(jù)類型。它在許多場(chǎng)景下鍵/值可用于替代傳統(tǒng)的關(guān)系型數(shù)據(jù)庫或存儲(chǔ)方式[3]。Mongo是使用C++開發(fā),特點(diǎn)有高性能、易部署、易使用,存儲(chǔ)數(shù)據(jù)非常方便。Mongo最大的特點(diǎn)是它支持的查詢語言非常強(qiáng)大,其語法類似于面向?qū)ο蟮牟樵冋Z言,可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對(duì)數(shù)據(jù)建立索引。

      3 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)

      3.1 系統(tǒng)流程

      系統(tǒng)流程如圖2:

      (1)客戶端通過HTTP Basic方式提交密碼信息。

      (2)Web服務(wù)器查詢數(shù)據(jù)庫,驗(yàn)證密碼是否正確。

      (3)如正確,返回一個(gè)token,否則返回錯(cuò)誤信息,后續(xù)的請(qǐng)求都要包含這個(gè)token。

      (4)客戶端發(fā)出請(qǐng)求,指定要分析的數(shù)據(jù)。

      (5)Web服務(wù)器立刻返回一個(gè)地址,客戶端稍后可以去這個(gè)地址查詢結(jié)果。同時(shí),Web服務(wù)器對(duì)計(jì)算服務(wù)器發(fā)出計(jì)算請(qǐng)求。

      (6)計(jì)算服務(wù)器計(jì)算完成后,將結(jié)果寫入數(shù)據(jù)庫。

      3.2 計(jì)算結(jié)構(gòu)圖

      計(jì)算服務(wù)器由一個(gè)控制器和若干個(gè)節(jié)點(diǎn)組成,如圖3,節(jié)點(diǎn)從控制器獲取任務(wù)后,計(jì)算并將結(jié)果寫入數(shù)據(jù)庫。同時(shí),節(jié)點(diǎn)會(huì)記錄每個(gè)算法的運(yùn)行時(shí)間,包括CPU時(shí)間與IO時(shí)間,以便于以后的調(diào)度。

      控制器起到橋梁的作用,用來連接Web服務(wù)器和計(jì)算節(jié)點(diǎn)。其本身不進(jìn)行運(yùn)算,它將Web服務(wù)器發(fā)來的計(jì)算請(qǐng)求,分發(fā)給各個(gè)運(yùn)算節(jié)點(diǎn),由各個(gè)節(jié)點(diǎn)進(jìn)行具體運(yùn)算。

      計(jì)算節(jié)點(diǎn)將包括兩個(gè)功能:

      (1)任務(wù)調(diào)度(節(jié)點(diǎn)內(nèi))。

      (2)對(duì)算法進(jìn)程使用資源情況進(jìn)行記錄。

      控制器起到橋梁的作用,用來連接Web服務(wù)器和計(jì)算節(jié)點(diǎn)。其本身不進(jìn)行運(yùn)算,它將Web服務(wù)器發(fā)來的計(jì)算請(qǐng)求分發(fā)給各個(gè)運(yùn)算節(jié)點(diǎn),由各個(gè)節(jié)點(diǎn)進(jìn)行具體運(yùn)算。分發(fā)任務(wù)時(shí),控制器需要考慮各個(gè)節(jié)點(diǎn)間的負(fù)載平衡,并且要保證實(shí)時(shí)要求比較高的任務(wù)先得到執(zhí)行??刂破骱凸?jié)點(diǎn)、Web服務(wù)器之間的接口使用RMI的方式實(shí)現(xiàn)。控制器發(fā)布一個(gè)Control對(duì)象,節(jié)點(diǎn)和Web服務(wù)器可以連接到這個(gè)對(duì)象。

      計(jì)算節(jié)點(diǎn)將包括兩個(gè)功能:

      (1)任務(wù)調(diào)度(節(jié)點(diǎn)內(nèi))。由于算法可能涉及很大的數(shù)據(jù)量傳輸和計(jì)算,要充分利用計(jì)算節(jié)點(diǎn)的資源,把算法分為CPU密集型和I/O密集型。當(dāng)CPU空閑,優(yōu)先調(diào)度CPU密集型算法;當(dāng)CPU負(fù)載不高,調(diào)度I/O密集型算法;當(dāng)CPU負(fù)載過高,等待已有算法計(jì)算結(jié)束。

      (2)對(duì)算法進(jìn)程使用資源情況進(jìn)行記錄。

      4 數(shù)據(jù)分析算法

      根據(jù)數(shù)據(jù)類型,算法需要分成很多種類,雖然目的類似,但算法完成過程不同。影響算法種類的因素很多,如參數(shù)的個(gè)數(shù)、參數(shù)的屬性(獨(dú)立的或是不獨(dú)立的,可衡量的或是不可衡量的)、數(shù)據(jù)的丟失等,目前該系統(tǒng)實(shí)現(xiàn)了一種算法,方差分析(Anova)[5]。

      4.1 方差分析原理

      本系統(tǒng)采用了方差分析來進(jìn)行銷售數(shù)據(jù)的計(jì)算分析,其原理闡述如下:

      數(shù)據(jù)說明:數(shù)據(jù)有二列,第一列為固定因素A,第二列為觀察值Y,固定因素A有p個(gè)水平,每個(gè)水平重復(fù)試驗(yàn)了m次。

      計(jì)算中間值PQR:

      [P=1pm(i=1pl=1my2il)],[Q=1mi=1p(l=1my2il)],[R=i=1pl=1my2il]

      計(jì)算SA、SE和ST:

      [SA=Q-P],[SE=R-Q],[ST=R-P]

      計(jì)算自由度和顯著性:

      [fa=p-1],[fe=p(m-1)],[ft=pm-1],[Se=Se/fe],[Sa=SA/fa]

      [F=Sa/Se],[p=1-fcdf(F,fa,fe)]

      返回結(jié)果(result):

      [來源 平方和 自由度 均方 F值 顯著性 A [SA] [fa] [Sa] [F] [p] Error [Se] [fe] [Se] Total [ST] [ft] ]

      4.2 算法實(shí)現(xiàn)

      本系統(tǒng)首先數(shù)據(jù)存儲(chǔ)在MongoDB數(shù)據(jù)庫,依靠數(shù)據(jù)庫自身攜帶的查詢函數(shù),快速準(zhǔn)確地計(jì)算出中間變量。最后,再對(duì)中間結(jié)果進(jìn)行運(yùn)算,計(jì)算出最終結(jié)果,并且存入數(shù)據(jù)庫,然后讓服務(wù)器處理用戶請(qǐng)求。MongDB數(shù)據(jù)庫自身帶有find、distinct、count函數(shù),尤其是mapReduce函數(shù),這是計(jì)算中間變量的關(guān)鍵,該算法在計(jì)算中間變量P、Q、R時(shí),并不將數(shù)據(jù)讀取到本地計(jì)算,而是采用數(shù)據(jù)庫的mapReduce方法,直接由數(shù)據(jù)庫計(jì)算出這三個(gè)中間變量。

      5 小結(jié)

      本系統(tǒng)目的是為電子商務(wù)網(wǎng)站提供一個(gè)一站式、易于使用的銷售數(shù)據(jù)分析工具。用戶可以向系統(tǒng)中導(dǎo)入過往的銷售數(shù)據(jù)、實(shí)時(shí)添加新的數(shù)據(jù),并且能發(fā)出數(shù)據(jù)計(jì)算請(qǐng)求,分析某幾項(xiàng)數(shù)據(jù)中的內(nèi)在關(guān)系。用戶還可以指定監(jiān)控某個(gè)分析結(jié)果,系統(tǒng)會(huì)定時(shí)根據(jù)新數(shù)據(jù)重新計(jì)算,一旦結(jié)果達(dá)到用戶的要求,便通知用戶。當(dāng)系統(tǒng)的運(yùn)算力不足時(shí),可以添加一臺(tái)或多臺(tái)服務(wù)器作為運(yùn)算節(jié)點(diǎn),通過分布式計(jì)算的方式提高響應(yīng)速度。采用方差分析作為數(shù)據(jù)分析的算法,并使用MongDB來進(jìn)行方差分析計(jì)算,提高系統(tǒng)的速度。

      參考文獻(xiàn):

      [1] Wes McKinney.利用Python進(jìn)行數(shù)據(jù)分析[M].北京:機(jī)械工業(yè)出版社,2010.

      [2] Eric Matthes,Bradley N Miller. Python編程從入門到實(shí)踐[M].北京:人民郵電出版社,2012.

      [3] 張?chǎng)┙?,蔡佳?MongoDB從入門到商業(yè)實(shí)戰(zhàn)[M].北京:電子工業(yè)出版社,2019.

      [4] 李智慧.大型網(wǎng)站技術(shù)架構(gòu)核心原理與案例分析[M].北京:電子工業(yè)出版社,2013.

      [5] 王松桂.線性統(tǒng)計(jì)模型線性回歸與方差分析[M].北京:高等教育出版社,2009.

      【通聯(lián)編輯:代影】

      猜你喜歡
      方差分析分布式
      分布式光伏發(fā)展的四大矛盾
      能源(2017年7期)2018-01-19 05:05:03
      分布式光伏熱錢洶涌
      能源(2017年10期)2017-12-20 05:54:07
      基于預(yù)處理MUSIC算法的分布式陣列DOA估計(jì)
      分布式光伏:爆發(fā)還是徘徊
      能源(2017年5期)2017-07-06 09:25:54
      Excel在《生物統(tǒng)計(jì)學(xué)》雙因素有重復(fù)方差分析中的應(yīng)用與探討
      考試周刊(2017年6期)2017-02-13 10:43:50
      高校二手書市場(chǎng)細(xì)分研究
      應(yīng)用統(tǒng)計(jì)學(xué)課堂教學(xué)組織實(shí)踐與探索
      金華市大學(xué)生幸福感調(diào)查研究
      “互聯(lián)網(wǎng)+”時(shí)代的出租車資源配置
      科技視界(2016年11期)2016-05-23 11:26:04
      西門子 分布式I/O Simatic ET 200AL
      红原县| 兴仁县| 甘洛县| 乐平市| 九龙城区| 沛县| 巴林右旗| 米脂县| 溧水县| 同心县| 襄汾县| 北票市| 大荔县| 太仆寺旗| 尖扎县| 乐亭县| 长沙县| 台北市| 游戏| 连江县| 潼关县| 南郑县| 通榆县| 江永县| 宁晋县| 大洼县| 驻马店市| 沐川县| 信宜市| 石门县| 嵊州市| 麻城市| 安西县| 措美县| 商丘市| 海林市| 梧州市| 固原市| 南溪县| 东源县| 金秀|