cda

全國校區

您的位置:首頁 > 案例分享 > 網站用戶行為分析案例

網站用戶行為分析案例

2018-01-09

一、案例綜述

案例編號:101001

案例名稱:互聯網行業——網站用戶行為分析

作者姓名(或單位、或來源):劉莎莎

案例所屬行業:G6020 互聯網信息

案例所用軟件:

MYSQLSas EGTOADSAS EM

案例包含知識點:

數據導入 txt導入mysql  數據導出 mysql導出為txt  txt導入SasEG  SAS數據格式修改 頻數統計 相關分析 相關系數 相關系數矩陣  RFM模型 聚類分析  關聯規則 數據挖掘 頻數統計


案例描述:

根據中國互聯網絡信息中心發布第36次《中國互聯網絡發展狀況統計報告》顯示,截至2015年6月,我國網民規模達6.68億,互聯網普及率為48.8%。我國互聯網的高速發展普及為互聯網企業帶來了巨大的發展機遇。

相對于傳統的工業領域,互聯網領域的入門門檻較低,這一特點有利于更多的企業加入互聯網浪潮,以便為人民生活提供更好的服務,但也正是互聯網企業的服務模式易于拷貝的原因,導致了同質化競爭激烈的互聯網企業發展格局。

為了解決這一問題,通過對網站用戶行為進行數據分析,有利于互聯網企業準確把握網站發展的實際情況以及網站用戶心理需求和心理習慣,從而更有效地利用企業資源,以便在激烈的同質化競爭中找到屬于自己的服務特點,獲得比較優勢,最終贏得競爭。

此案例所用數據集來自于一個互聯網企業,屬于論壇性質。共有三個數據集。member.txt、tiezi.txt 、bankui.txt分別是會員個人信息表(包括會員的一些屬性:出生日期,專長,關注領域等)、瀏覽帖子信息表(四個字段,第一個是會員id,第二個是會員瀏覽時間,第三個是會員瀏覽帖子的鏈接代碼,第四個變量為瀏覽的為該帖子的第幾頁),瀏覽板塊信息表(三個字段,第一個是會員id,第二個是會員瀏覽時間,第三個是會員瀏覽板塊的鏈接代碼)。數據缺陷無法提供板塊和帖子的對應情況。其中member.txt數據集中共包含106745條記錄,bankuai.txt數據集中共包含765015條記錄,tiezi.txt數據集中共包含3832002條記錄。


各知識點介紹如下:

1個知識點介紹的是如何借助于第三方數據庫管理軟件toad把三個txt數據文件導入到MYSQL數據庫中。

2知識點介紹的是如何借助于第三方數據庫管理軟件toad把三個txt數據數從MySQL數據庫forum中導出為三個txt文件,將導出的三個txt文件保存為member.txt,tiezi.txt,bankuai.txt,然后在這個基礎之上對本章后面的小節進行操作。

3個知識點是將三個txt文件導入到SAS-EG中,保存為sas格式的數據集放在建立的邏輯庫test中,并且對日期時間變量進行輸出格式的修改,使其顯示為正確的日期時間格式。三個sas數據文件分別為member.sas4bdatbankuai.sas7bdattiezi.sas7bdat

4個知識點是對論壇數據進行一些描述性分析,在tiezi.sas7bdat基礎之上尋找到最火的帖子。

5個知識點是對論壇數據進行一些描述性分析,是在member.sas7bdat基礎之上對論壇用戶的男女比例進行描述性分析。

6個知識點是在tiezi.sas7bdat基礎之上通過生成查詢生成器的方式計算每個人瀏覽的帖子總數,并且進行用戶名字的去重。然后將查詢結果和member.sas7bdat數據集進行橫向合并,從而將用戶年齡和瀏覽貼子數放在了一個表中。然后進行兩個變量的相關性分析。

7個知識點是在tiezi.sas7bdat數據集的基礎之上進行進一步的計算,然后用RFM模型對客戶進行畫像分析,從而找到最有價值的客戶。

8個知識點在bankuai.sas7bdat數據集的基礎之上用sasEM模塊對數據進行板塊的關聯規則分析,從而可以發現一些推薦規則。

9個知識點是在member.sas7bdat基礎之上用SasEM模塊的文本挖掘部分對關注領域字段進行關鍵詞頻數分析,從而找到關注度最高的關鍵詞。


案例執行形式單人上機


二、案例知識點

知識點1

知識點名稱:txt數據文件導入到 mysql數據庫中

知識點所屬工作角色:數據導入

知識點背景:我們通常會獲取各種類型的數據文件,比如txt,excel等,通常需要將這些文件導入到數據庫中,從而方便進行長期存儲和調用。

知識點描述:txt數據導入到mysql中。

知識點關鍵詞:數據庫建立、新建表、數據導入

知識點所用軟件:MySQL5.6  Toad for MySQL 6.7

操作目的:txt數據導入到mysql中。

知識點素材(包括數據):Member.txt,tiezi.txt,bankuai.txt

操作步驟:

? 安裝Toad for MySQL編輯器,成功設置權限;

在邏輯庫下選擇forum數據庫,界面如下圖所示;

 


單擊工具欄中的Tools”選項,執行“Import”,“Import Wizard”命令,如4.21彈出數據導入向導窗口,如下圖所示,點擊Next


 導入數據


點擊Next”,如下圖繼續進行;

導入數據


點擊“Add File”,選擇文件所在位置添加文件,

導入數據


選擇Comma”(即以逗號為分隔符),選擇“Column names as head”(即將原文件中的第一行作為列名)及Empty files are n(即將缺失的數據也插入新表中),點擊“Next”繼續進行,

導入數據


? 再次點擊Next”繼續進行,在數據導入向導窗口的Select Target步驟中,選擇“A single new table”(即新建一個表),在Schema下拉列表中選擇創建的數據庫forum,在“Table name”中輸入新表的名稱“member”,根據事先對數據的大致了解,將field6field7lingyu的數值類型改為VARCHAR(200),將zhuanchang的數值類型改為VARCHAR(500),同時選中memberid,將光標定位在memberid前面,點擊“Set Primary Key”,即將memberid設置為主鍵,如下圖所示,點擊Next按鈕。

圖 導入數據


再次點擊Next,Finish按鈕等待一段時間后會出現如下圖的窗口,可以看到讀取數據行數為106745行,導入數據行數也為106745行,因此數據全部導入

數據導入結果匯總


點擊OK,在Viewer Table forum.member窗口下點擊Data選項,數據如下圖,可以看到中文字符也完全顯示出來。

圖 數據導入成功


MySQL命令窗口下,執行下列語句同樣可實現上述操作


create table forum.member

(

    gender   int(11),

    birthyearm   int(11),

    constellation   varchar(255),

    zodiac   varchar(255),

    resideprovince   varchar(255),

    field6   varchar(255),

    field7   varchar(255),

    lingyu   varchar(255),

    zhuanchang   varchar(255),

    readad   int(11),

    viptype   int(11),

    memberid   int(20),

    count   int(11),

    PRIMARY KEY(memberid)

)engine=innodb charset=utf8;


上述代碼將新建一個名為forum.membe的新表,包含13個字段及其屬性,定義memberid為主鍵,engine=innodb為指定數據引擎,charset=utf8為編碼格式,int表示數據格式為整型,varchar表示數據為可變字符型。

? 重復上述操作步驟同樣可以將bankuai.txttiezi.txt導入至數據庫。


其中tiezi.txt在讀入時,采用默認設置讀入,發現并未讀取全部記錄,原因是time的字段類型為int不合適,time字段的一些取值超過了int類型所涵蓋的范圍,需要導入時將該字段類型改為bigint這樣就可以將全部記錄導入。由于tiezi數據量(行數)非常龐大,我們將processing row count改為10000以加快讀取速度。如下圖所示。最終在圖4.30中顯示讀取數據為3832002條,導入條數也為3832002條。

圖 導入數據


 

數據導入結果匯總


操作結果:

這個知識點操作結束之后,在你的電腦的mysqlforum數據庫中將會存在三張表。

知識點小結:

數據庫管理員的其中一個工作就是將各種形式的數據錄入或者導入到mysql數據庫中,注意toadmysql的版本要相互配合。


知識點2


知識點名稱:mysql數據庫中數據的導出 

知識點所屬工作角色:數據庫數據導出

知識點背景:我們通常需要將數據庫中的表格導出成文本格式從而方便提交給數據分析人員進行后續的統計分析與計算。

知識點描述:mysql數據庫中的表導出成txt文件。

知識點關鍵詞:Mysql toad 數據庫數據導出

知識點所用軟件:MySQL5.6  Toad for MySQL 6.7 

操作目的:將數據庫中的表格導出為txt文件。

 知識點素材(包括數據):一個mysql數據庫forum,并且該數據庫下有三張表member、tiezi、bankuai。

操作步驟:

打開論壇的數據庫forum1,打開tables,可以看到有三個表分別是member、tiezi、bankuai。Member中記錄的是用戶的id和個人信息。tiezi里面記錄的是會員瀏覽帖子的記錄。Bankuai里面記錄的是會員瀏覽板塊的記錄。

打開其中的一個表。比如member,然后在右側數據瀏覽窗口中點擊“export”,選擇導出的形式,我們選擇“導出所有記錄”,然后選擇“txt文件”,點擊“Next”,選擇保存路徑,然后點擊“Next”,點擊“Next”,然后勾選“include column titles”,繼續點擊“Next”,然后點擊“start”。等進度條完成之后,數據就成功導出了。點擊“close”即可。我們依據同樣的方法把三個表都導出為txt格式,分別為member.txt 、tiezi.txt 、bankuai.txt。

操作結果:

將上面導出的數據存為member.txt 、tiezi.txt 、bankuai.txt,以備后續使用。

知識點小結:

通常從數據庫中導出數據可以保存為好幾種文本文件和excel文件,你可以根據需要進行選擇,如果數據量較大的話建議保存為txt文件。


知識點3


知識點名稱:SAS EG中數據的導入及時間格式修改

知識點所屬工作角色:數據導入

知識點背景:先要將外部數據導入到統計軟件中才能進行后續的分析和建模。

知識點描述:txt數據導入到saseg中,并且將數據保存為sas格式。

知識點關鍵詞:txt導入saseg   數據導入

知識點所用軟件:Saseg

操作目的:txt數據導入到saseg中。

知識點素材(包括數據):bankuai.txttiezi.txt及member.txt

操作步驟:

? 打開excel文件,查看數據是否符合SAS要求的格式;

啟動sas eg

點擊“工具”,“分配項目邏輯庫”,可以新建一個邏輯庫,邏輯庫命名為test,注意指定合適的文件夾路徑作為邏輯庫放數據的地方。

執行“文件”,“導入數據”,找到member.txt文件,點擊“打開”按鈕,指定test邏輯庫,打開窗口左下角的服務器列表——本地——邏輯庫可以看到邏輯庫test已經生成。如果沒有發現這個邏輯庫就刷新一下便可以看到了。導入數據時指定文本編碼為默認編碼,即GB2312。導入完成之后在邏輯庫test及保存路徑下便生成bankuai.sas7bdat,tiezi.sas7bdat及member.sas7dbat三個數據文件。若在邏輯庫下沒有顯示所導入的數據,刷新一下即可。


我們看一下tiezi數據集里面的數據,結果見下圖。

圖 tiezi數據窗口


從上圖可以看到,time字段顯示的格式是數值格式,如何將其變為時間格式。

tiezi數據拖動右側雙口后雙擊time字段的任意觀測值,這時會彈出一個“數據具有保護,是否切換至更新模式”的對話框,注意:所做的更改將直接應用于數據。在此選擇“yes”。這樣數據就變成可編輯模式了。選中需要編輯的變量列,點擊右鍵選擇“屬性”,在“常規選項卡”里,把組改為日期格式。在“輸出格式”選項卡里,類別選擇“日期/時間”。輸出格式選擇DATETIMEw.d,總寬度設定為20。從下圖中可以看到修改后的樣式。修改完樣式之后將數據集保存。同樣,數據集bankuai里面的time字段也進行同樣的設置并保存。

圖 tiezi數據窗口


操作結果:

將上面生成的sas數據文件保存在文件夾中存為bankuai.sas7bdat,tiezi.sas7bdat及member.sas7dbat,以備后續使用。

知識點小結:

想把txt格式數據導入到saseg中,先要將txt數據格式整理成比較標準的格式才不容易出錯,如果txt文件是從數據庫中導出的通常格式比較正常。


知識點4

知識點名稱:數據的描述性分析——尋找最火的帖子

知識點所屬工作角色:數據分析

知識點背景:對數據進行建模之前通常對數據進行一個基本描述,比如分類變量看下頻數分布。

知識點描述:對變量進行描述性分析。

知識點關鍵詞:頻數統計  描述統計 均值 標準差 中位數 最小值 最大值 分類匯總

知識點所用軟件:SasEG

操作目的:對分類變量進行頻數統計。

知識點素材(包括數據):tiezi.sas7bdat

操作步驟:

啟動sas eg

? ?新建項目邏輯庫。執行“工具”—“分配項目邏輯庫”—輸入8個字符以內的英文名稱(比如test),點擊“下一步”按鈕

注意指定合適的文件夾路徑(和上面一節的文件路徑保持一致)作為邏輯庫放數據的地方。

把左側下方的邏輯庫test下面的tiezi數據集拖入右側的大窗口中。即可看到帖子數據集作為一個對象出現在右側窗口中。如果想查看這個數據集里面的內容,雙擊過程流中TIEZI數據集的圖標 ,即可查看里面的數據。


? 在tiezi窗口,點擊查詢生成器。把t1下面的tid變量拉入右側數據框,見下圖。

圖 查詢生成器窗口


? 點擊”添加新的計算列”,進入“1/4選擇類型”頁界面,勾選”匯總列”,點擊下一步進入“2/4選擇列”頁面;在“2/4選擇列”頁面,選擇 “選擇數據列”下面的tid變量。點擊下一步,進入“3/4修改其他選項”頁面;在“3/4修改其他選項”頁面,將“標識符”和“列名”均改為total_number“匯總”項選擇count,其他項保持默認。點擊下一步進入“4/4屬性匯總”頁面;在“4/4屬性匯總”頁面點擊“完成”回到“選擇數據”選項卡頁面,見下圖。

圖 查詢生成器窗口


點擊“對數據進行排序”進入“對數據進行排序”選項卡頁面。將左側“計算列”下面的total_number變量拉入數據框,排序方向選擇降序,見下圖。

圖 查詢生成器窗口


? 然后點擊運行,見下圖。

圖查詢生成結果

從上圖中就可以看到,最受關注的帖子的代碼是397905,被瀏覽的次數為36754次。


操作結果:

該知識點可以不用對數據集進行保存。

知識點小結:

如果你是論壇工作人員,根據這個帖子代碼,你就能知道對應的帖子鏈接。原來這個帖子是關于增加論壇幣方法的介紹,難怪有這么多人都要看。


知識點5

知識點名稱:數據的描述性分析——查看論壇男女比例

知識點所屬工作角色:數據分析

知識點背景:對數據進行建模之前通常對數據進行一個基本描述,比如分類變量看下頻數分布,我們這里對性別進行頻數分析。

知識點描述:對變量進行描述性分析。

知識點關鍵詞:頻數統計  分類匯總

知識點所用軟件:SasEG 

操作目的:對分類變量進行頻數統計。

知識點素材(包括數據):member.sas7bdat

操作步驟:

啟動sas eg

? ?新建項目邏輯庫。執行“工具”—“分配項目邏輯庫”—輸入8個字符以內的英文名稱(比如test),點擊“下一步”按鈕

注意指定合適的文件夾路徑(和上面一節的文件路徑保持一致)作為邏輯庫放數據的地方。

把左側下方的邏輯庫test下面的member數據集拖入右側的大窗口中。可以看到數據集作為一個對象出現在右側窗口中。如果想查看這個數據集里面的內容,雙擊過程流中member數據集的圖標 ,即可查看里面的數據。


執行“描述”“單因子頻數”。在“數據”選項下,把“gender”拖入“分析變量”,在“統計量”選項下,缺失值的“顯示頻數”和“包含在計算中”前面打勾。點擊“運行”按鈕,輸出結果見下圖。

 圖單因子頻數結果


    結果分析:可以看到絕大多數人并沒有對性別進行填寫,填寫性別的人當中男生占了大多數,大概是女生的3倍。由于沒有填寫信息的人對分析沒有意義,故需要計算填寫性別的人當中男女的比例,然后繪制餅形圖。

回到member數據集窗口,執行選擇“圖形”,“餅圖”,雙擊“簡單餅圖”即可得到結果,點開“數據”選項卡,將gender拉入右側要繪圖的列。然后點擊運行。

圖性別分布餅圖


操作結果:

該知識點可以不用對數據集進行保存。

知識點小結:

對于分類變量,可以通過單因子頻數的方式對其進行描述,也可以通過餅形圖對其進行描述。


知識點6

知識點名稱:帖子瀏覽數與年齡關系分析

知識點所屬工作角色:數據分析

知識點背景:對于可能存在關系的一些數值變量,通常需要查看其相關系數矩陣。

知識點描述:相關系數矩陣。

知識點關鍵詞:相關系數 

知識點所用軟件:SasEG

操作目的:對變量進行相關系數分析。

 知識點素材(包括數據):tiezi.sas7bdat member.sas7bdat

操作步驟:

啟動SAS EG,在SAS EG中執行“文件”,“新建項目”。 點擊“工具”,“分配項目邏輯庫”,可以新建一個邏輯庫,邏輯庫命名為test,注意指定合適的文件夾路徑(和上面一節的文件路徑保持一致)作為邏輯庫放數據的地方。


把左側下方的邏輯庫test下面的tiezi數據集拖入右側的大窗口中。即可看到帖子數據集作為一個對象出現在右側窗口中。打開tiezi數據集,點擊“查詢生成器”。將“查詢名稱”改為計算每個人的瀏覽帖子數,輸出名稱為test.tiezishu。點擊“選項”,在彈出的窗口的“結果”中,將輸出數據集的標簽改為tiezishu。然后點擊確定返回“選擇數據”選項卡頁面。將memberid字段選入“選擇數據”框里。設定之后見下圖。

圖查詢生成器窗口


? 點擊”添加新的計算列”,進入“1/4選擇類型”頁界面,勾選”匯總列”,點擊下一步進入“2/4選擇列”頁面;在“2/4選擇列”頁面,選擇 “選擇數據列”下面的memberid變量。點擊下一步,進入“3/4修改其他選項”頁面;在“3/4修改其他選項”頁面,將“標識符”和“列名”均改為tiezishu“匯總”項選擇count,其他項保持默認。點擊下一步進入“4/4屬性匯總”頁面;在“4/4屬性匯總”頁面點擊“完成”回到“選擇數據”選項卡頁面。


“選擇數據”選項卡頁面。勾選“僅選擇非重復行”,匯總組選項下取消自動選擇組的勾選,設定組為t1.memberid。見下圖。

 

圖查詢生成器窗口


點擊“對數據進行排序”選項卡。把tiezishu拉入右側窗口,排序方向選擇降序。

查詢生成器窗口


? 點擊運行按鈕。輸出結果見下圖。

查詢生成結果


member數據集拉入右側的過程流里面。雙擊Member數據集將其打開,點擊“查詢生成器“,點擊“添加表”,選擇tiezishu數據集,點擊“打開”。

點擊“連接表”,可以看到兩個表有共同的Memberid可以連接起來,然后點擊“關閉”。將tiezishu數據集里面的memberid、tiezishu選入“選擇數據框”,把member數據集里面的birthyear數據選入“選擇數據框”。

將查詢名稱改為“將年齡和帖子數放在一個表中”,輸出名稱為test.q1。點擊選項,將輸出數據集的標簽改為q1。


? 計算年齡:點擊”添加新的計算列”,進入“1/4選擇類型”頁界面,勾選”高級表達式”,點擊下一步進入“2/4生成高級表達式”頁面;在“2/4生成高級表達式”頁面,在輸入表達式框中寫入公式:2015-t1.birthyear,點擊下一步,進入“3/4修改其他選項”頁面;在“3/4修改其他選項”頁面,將“標識符”和“列名”均改為age“匯總”項選擇None,其他項保持默認。點擊下一步進入“4/4屬性匯總”頁面;在“4/4屬性匯總”頁面點擊“完成”回到“選擇數據”選項卡頁面。見下圖。

查詢生成器窗口


點擊“過濾數據”,進入“過濾數據”選項卡頁面。由于birthyear變量大量缺失,以0表示的,因此在分析數據之前要對這部分數據進行過濾,將birthyear拉入過濾數據里面,單擊“過濾”,運算符選擇不等于,值寫0,點擊“確定”按鈕。見下圖。

查詢生成器窗口


然后點擊“運行”。查詢結果就出來了,我們在這個查詢結果中可以進行分析,來分析瀏覽帖子數和年齡的關系。查詢結果見下圖。

查詢生成結果


q1窗口中做散點圖:執行“圖形”,“散點圖”,“二維散點圖”,橫軸為age,縱軸為tiezishu。結果見下圖。

散點圖

結果分析:從散點圖中可以看到有很多異常值,縱軸上的異常值都是真實值,之所以異常,是因為管理員的帖子瀏覽量性對于普通會員來講非常多,因此分析的時候我們應該去掉,我們定義大于6000的為管理員。年齡軸上的異常值主要是因為注冊的時候是隨意填寫導致的結果。分析時把年齡為16以下或者80以上的過濾掉。


我們回到過程流頁面,雙擊打開數據q1對象,點擊“查詢生成器”。將查詢名稱改為對年齡和帖子數進行再過濾,輸出名稱改為test.q2。點擊選項,將輸出數據集的標簽改為q2。在選擇數據選項卡下面,將tiezishu和age拉入數據框。見下圖。

查詢生成器窗口


點擊過濾數據選項卡。點擊“新建過濾器”,選擇基本過濾器,點擊“下一步”按鈕,選擇tiezishu,點擊“下一步”,運算符選擇介于,起始值寫 200,結束值寫 6000,點擊“下一步”,點擊“完成”。點擊“新建過濾器”,選擇“基本過濾器”,點擊“下一步”,選擇age,點擊“下一步”按鈕,運算符選擇“介于”,不要誤選為在范圍內,起始值寫 16,結束值寫 80,點擊“下一步”。點擊完成。見下圖。

查詢生成器窗口


點擊“運行”按鈕。輸出結果見下圖。

查詢生成結果


q2的窗口中中畫age和tiezishu的散點圖,操作不再贅述。散點圖結果見下圖。

 

散點圖

結果分析:從散點圖中可以看到兩者沒有明顯的正線性相關或者負線性相關的關系,但是仍然可以看到一些結論,瀏覽帖子比較多的人的年齡主要是20-40之間。40以上瀏覽帖子的數目基本在1500以內。

q2數據窗口中,點擊“分析”,“多元”“相關分析”,把tiezishu和age拉入“分析變量”,然后點擊“運行”按鈕。結果見下圖。

相關分析結果


結果分析:從散點圖上雖然看不出什么,相關系數矩陣中兩者的相關系數也比較小,但是在10%顯著性水平下是顯著正相關的。


為了避免每次重新打開sasEG后,都要把建立邏輯庫,打開數據等操作重新做一遍,我們可以把關電腦前在sas EG中進行的操作保存,保存為一個項目:點擊“文件”—“保存項目”,為帖子瀏覽數與年齡關系分析命名,比如項目12.4,點擊“保存”即可。這樣在你的電腦上就會生成一個文件項目帖子瀏覽數與年齡關系分析.egp。為了避免死機,最好經常執行一些保存操作,“文件”—“保存項目帖子瀏覽數與年齡關系分析”。下次用到該項目時重新打開即可。

? 該項目的整體過程流圖見下圖。

圖  EG項目流程圖


操作結果:

把該知識點的操作產生新的數據集q1.sas7dbat,q2.sas7bdat,tiezishu.sas7bdat保存到路徑下,以備后續使用。

知識點小結:

相關系數大小的判別標準在不同行業中是不同的,這里計算的相關系數僅僅是兩兩相關系數,不考慮其他變量。


知識點7

知識點名稱:RFM模型進行客戶畫像

知識點所屬工作角色:數據分析

知識點背景:客戶畫像(UserProfile)即給用戶打上標簽,用一種樸素、簡潔的方法來描述用戶信息。客戶畫像可以完美地抽象出一個用戶的信息全貌,為進一步精準、快速地分析用戶行為習慣、消費習慣等重要商業信息,提供了足夠數據基礎。

RFM模型Bult and Wansbeek1995提出來的,認為客戶行為三要素 Recency (R)Frequency (F) Monetary (M)構成了客戶購買潛力價值的核心組成部分。該模型經常應用于 CRM 框架下的客戶行為分析。

知識點描述:用聚類分析對客戶進行畫像。

知識點關鍵詞:聚類分 FRM

知識點所用軟件:SasEG

操作目的:對個案進行聚類分析。

知識點素材(包括數據):tiezi.sas7bdat

操作步驟:

啟動sas eg

? ?新建項目邏輯庫。執行“工具”—“分配項目邏輯庫”—輸入8個字符以內的英文名稱(比如test),點擊“下一步”按鈕

? 在電腦中選擇一個文件夾,將其路徑作為邏輯庫的路徑(保證該路徑下面有tiezi.sas7bdat這個文件),單擊“下一步”按鈕

把左側下方的邏輯庫test下面的tiezi數據集拖入右側的大窗口中。即可看到帖子數據集作為一個對象出現在右側窗口中。打開tiezi數據集,點擊“查詢生成器”。


tiezi中計算一列日期變量date,該變量是從time變量里面提取,格式為年月日。打開tiezi數據集,生成查詢器aa1,生成變量date,這個變量等于datepart(time)。計算每個人登陸論壇當天瀏覽的帖子量生成size變量。具體步驟如下:將查詢名稱改為aa1,將輸出名稱改為“test.aa1 ”(即將輸出的數據保存在邏輯庫test中),把左邊的t1表里面的memberid變量拉入右邊。如下圖所示。

 查詢生成器窗口


點擊“添加新的計算列”“高級表達式”,點擊“下一步”。在“輸入表達式框”中輸入表達式datepart(t1.time)。點擊下一步。設定列名和標識符均為date,更改變量格式為DATE7.。點擊下一步。點擊完成回到選擇數據選項卡頁面。見下圖。

  查詢生成器窗口


點擊“計算列”,“新建”,“匯總列”,點擊“下一步”,隨意選擇一個變量,比如time,然后點擊“下一步”,變量名為size,匯總部分選擇“count”,點擊“下一步”,點擊“完成”。點擊完成回到選擇數據選項卡頁面。勾選“僅選擇非重復行”,匯總組選項下取消自動選擇組的勾選,設定組為memberid date。見下圖。

 查詢生成器窗口


生成一個過濾器,將date等于3653的行去掉,因為此觀測值屬于異常值。見下圖。

  查詢生成器窗口


打開“對數據排序”選項卡,把memberid和date選入,兩個均為升序。見下圖。

 

 查詢生成器窗口


然后點擊“運行”按鈕。 輸出結果見下圖。

 查詢生成結果


這樣數據集aa1中每個人每天就只有一條記錄了。

u 計算y1

新建一個程序文件,程序文件的名字定為“生成y1”。內容如下:

生成新變量。根據第一個關鍵詞分組,生成變量x1,組內取值為1,2,3….。需要建立一個程序運行下面的語句。輸出數據集aa2到邏輯庫test里面。


圖 程序


程序中by的意思是對數據根據memberiiddate兩個變量進行升序排序。

輸出結果如下圖所示

 

 數據集aa2輸出結果1


定義數據為面板數據,橫截面為memberid,時間為lag_date。客戶瀏覽帖子時距離上一次瀏覽帖子的間隔天數y1,即date的一階差分。


  程序


輸出結果如下圖所示:

圖    數據集aa2輸出結果2

 

u 計算y2

新建一個程序文件,程序文件的名字定為“生成y2”。內容如下:


計算會員瀏覽帖子時論壇的累積登陸天數y2,先生成一個變量,為count,取值為1。然后求這個變量的時間累計值就是y2。然后把數據集保存為aa3放在邏輯庫test下面。

 程序


 

圖  數據集aa3窗口


u 計算y3

新建一個程序文件,程序文件的名字定為“生成y3”。內容如下:計算會員瀏覽帖子時論壇的累積瀏覽帖子數y3,就是變量size的累計值。

  程序


 數據集aa4窗口


u 數據進一步過濾


點開數據集aa4,點擊“查詢生成器”,查詢生成器名字為aa5,輸出的數據集名字為aa5。將數據集aa4里面的變量全部拉入數據框。


點擊“生成新列”maxdate,選擇“匯總列”,選擇“最大值”,點擊“完成”,回到主界面設定分組變量為Memberid。見下圖。

圖  查詢生成器窗口

建立過濾器,設定過濾器為maxdate=date。這個目的是每個用戶僅留最新的瀏覽日期,這樣做是為了利于提升聚類的效果。不適合將一個人的多天瀏覽放在一起聚

完 謝謝觀看

分享
收藏

OK
3d彩经网免费预测