本發(fā)明涉及數(shù)據(jù)挖掘與數(shù)據(jù)分析技術(shù),特別是涉及一種基于多元線性回歸的餐飲業(yè)好友連邊影響力預(yù)測方法。
背景技術(shù):
隨著計算機(jī)技術(shù)和互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,信息的傳播方式越來越豐富,傳播速度也在不斷增快,在線社交應(yīng)用和媒體也迅速擴(kuò)散,眾多網(wǎng)站如facebook、twitter以及國內(nèi)的新浪微博、微信、騰訊網(wǎng)等迅速崛起,在線社交網(wǎng)絡(luò)已經(jīng)將我們的日常生活與網(wǎng)絡(luò)信息空間連接起來。在線社交網(wǎng)絡(luò)存儲了大量用戶資料,用戶之間的社交關(guān)系以及用戶之間的交互,這些海量社交數(shù)據(jù)有著巨大的研究價值,同時也在廣告、推薦系統(tǒng)等方面具有廣闊的應(yīng)用前景。本發(fā)明在于利用社交網(wǎng)絡(luò)中的大量信息,提取相關(guān)的特征并進(jìn)行多元線性回歸,從而得到各個因素與好友連邊影響力之間的聯(lián)系。
線性回歸算法是數(shù)據(jù)挖掘領(lǐng)域中比較重要的算法,它通過給定數(shù)據(jù)集d={(x1,y1),(x2,y2),...,(xm,ym)},其中xi=(xi1;xi2;...;xid),
技術(shù)實現(xiàn)要素:
為了克服現(xiàn)有的餐飲業(yè)好友連邊影響力預(yù)測方式的可靠性較差的不足,本發(fā)明提出了一種可靠性較好的基于多元線性回歸的餐飲業(yè)好友連邊影響力預(yù)測方法。本發(fā)明將拓?fù)涮卣骱头峭負(fù)涮卣饕氲交貧w模型中,實現(xiàn)好友關(guān)系的量化。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案如下:
一種基于多元線性回歸的餐飲業(yè)好友連邊影響力預(yù)測方法,包括以下步驟:
s1:從餐飲網(wǎng)站獲取用戶的好友關(guān)系信息;
s2:根據(jù)用戶的好友關(guān)系信息,建立好友關(guān)系加權(quán)無向圖g=(v,e);
s3:利用已建立的好友關(guān)系圖,分別求出如下網(wǎng)絡(luò)拓?fù)涮卣鳎?/p>
共同鄰居指標(biāo)cn、salton指標(biāo)、jaccard指標(biāo)、sorenson指標(biāo)、大度節(jié)點有利指標(biāo)hpi、大度節(jié)點不利指標(biāo)hdi、lhn-i指標(biāo)、aa指標(biāo)、資源分配指標(biāo)ra、偏好連接相似性pa、度差異性、全體鄰居和katz指標(biāo);
s4:計算非拓?fù)涮卣鳎鶕?jù)用戶地理信息、用戶情感值、用戶消費檔次和用戶口味信息,提取非拓?fù)涮卣鳎?/p>
s5:利用求得的各個拓?fù)涮卣骱头峭負(fù)涮卣髯鳛樽宰兞?,兩個用戶共同去過的餐館數(shù)為因變量,構(gòu)造理論模型,設(shè)定各個自變量與因變量之間的關(guān)系是線性的,從而建立多元線性回歸模型,借助工具進(jìn)行多元線性回歸處理得到數(shù)據(jù);
s6:對模型進(jìn)行檢驗,一個指標(biāo)是擬合度,設(shè)定擬合閾值為擬合程度很高,第二個指標(biāo)為dw檢驗,通過t顯著性指標(biāo)大于指標(biāo)閾值,對設(shè)置的指標(biāo)進(jìn)行篩選,獲得回歸方程,否則如果無法獲得模型,就轉(zhuǎn)移到s3;
s7:運(yùn)行模型,進(jìn)行共線性診斷,查看vif方差擴(kuò)大因子,若vif小于門限值則判斷自變量之間不存在共線性,否則進(jìn)行主成分分析處理共線性問題,之后分析殘差,若殘差不滿足要求就轉(zhuǎn)移到s3;
s8:若滿足上述步驟的要求,則說明該線性回歸方程模型滿足該數(shù)據(jù)集,利用得到的線性回歸方程,同時結(jié)合用戶和餐館信息,能夠預(yù)測兩個用戶之間的好友連邊影響力。
本發(fā)明提取了好友網(wǎng)絡(luò)的多個拓?fù)涮卣?,和影響好友連邊影響力的非拓?fù)涮卣鳎瑑烧呦噍o相成表征了社交網(wǎng)絡(luò)中用戶的社交模式,然后利用多元線性回歸模型表示影響網(wǎng)絡(luò)中的好友連邊影響力的因素。
本發(fā)明的有益效果如下:挖掘社交網(wǎng)絡(luò)中的用戶關(guān)系,預(yù)測效果良好,能有效滿足實際使用的要求。
附圖說明
圖1為本發(fā)明實施例的基于線性回歸的餐飲業(yè)好友連邊影響力預(yù)測的流程圖;
圖2為本發(fā)明實施例的用戶—餐館地區(qū)二分圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明做進(jìn)一步說明。
參照圖1和圖2,一種基于線性回歸的餐飲業(yè)好友連邊影響力預(yù)測方法,本專利以研究yelp中的用戶和餐館為例,原始數(shù)據(jù)記錄了各個用戶及餐館的信息,提取相應(yīng)特征進(jìn)行好友連邊影響力的建模分析。
以下實施方式結(jié)合附圖對本發(fā)明進(jìn)行詳細(xì)的描述,如圖1所示,本發(fā)明包括以下步驟:
s1:從餐飲網(wǎng)站獲取用戶的好友關(guān)系信息;
s2:根據(jù)用戶的好友關(guān)系信息,建立好友關(guān)系加權(quán)無向圖g=(v,e);
s3:利用已建立的好友關(guān)系圖,分別求出如下網(wǎng)絡(luò)拓?fù)涮卣鳎?/p>
共同鄰居指標(biāo)(commonneighbors,cn)、salton指標(biāo)、jaccard指標(biāo)、sorenson指標(biāo)、大度節(jié)點有利指標(biāo)(hubpromotedindex,hpi)、大度節(jié)點不利指標(biāo)(hubdepressedindex,hdi)、lhn-i指標(biāo)、aa指標(biāo)、資源分配指標(biāo)(resourceallocation,ra)、偏好連接相似性(preferentialattachment,pa)、度差異性、全體鄰居、katz指標(biāo);
s4:除了求出好友網(wǎng)絡(luò)的拓?fù)涮卣?,還可以計算非拓?fù)涮卣?。這里不是直接考慮用戶和餐館之間的關(guān)系對好友關(guān)系的影響,而是用戶在一般情況下自身因素對好友關(guān)系的影響。根據(jù)用戶地理信息、用戶情感值、用戶消費檔次和用戶口味信息,提取非拓?fù)涮卣鳎?/p>
s5:利用求得的各個拓?fù)涮卣骱头峭負(fù)涮卣髯鳛樽宰兞?,兩個用戶共同去過的餐館數(shù)為因變量,構(gòu)造理論模型,設(shè)定各個自變量與因變量之間的關(guān)系是線性的,從而建立多元線性回歸模型,借助工具進(jìn)行多元線性回歸處理得到數(shù)據(jù);
s6:對模型進(jìn)行檢驗,一個指標(biāo)是擬合度,設(shè)定擬合閾值為擬合程度很高,第二個指標(biāo)為dw檢驗,通過t顯著性指標(biāo)大于指標(biāo)閾值,對設(shè)置的指標(biāo)進(jìn)行篩選,獲得回歸方程,否則如果無法獲得我們想要的模型,就轉(zhuǎn)移到s3;
s7:運(yùn)行模型,進(jìn)行共線性診斷,查看vif方差擴(kuò)大因子,若vif小于門限值則判斷自變量之間不存在共線性,否則我們需要進(jìn)行主成分分析處理共線性問題,之后分析殘差,若殘差不滿足要求就轉(zhuǎn)移到s3;
s8:若滿足上述步驟的要求,則說明該線性回歸方程模型滿足該數(shù)據(jù)集,利用得到的線性回歸方程,同時結(jié)合用戶和餐館信息,能夠預(yù)測兩個用戶之間的好友連邊影響力。
所述步驟s3中,利用已建立的好友關(guān)系圖,分別求出如下網(wǎng)絡(luò)拓?fù)涮卣鳎?/p>
基于局部信息的最簡單的相似性指標(biāo)是共同鄰居指標(biāo)(commonneighbors,cn),即若兩個節(jié)點有很多共同鄰居節(jié)點,則兩個節(jié)點相似。對于網(wǎng)絡(luò)中的節(jié)點νx,定義其鄰居集合為γ(x),則兩個節(jié)點νx和νy的相似性就定義為它們共同的鄰居數(shù),即
sxy=|γ(x)∩γ(y)|
其中等式右邊表示集合的勢,顯然它們是鄰居數(shù)量等于兩節(jié)點之間長度為二的路徑數(shù)目。在共同鄰居的基礎(chǔ)上考慮兩端節(jié)點度的影響,從不同角度以不同方式又產(chǎn)生如下6中相似性指標(biāo):
salton指標(biāo)又稱余弦相似度,其定義為
其中kx,ky為節(jié)點的度,表示與節(jié)點直接相連的邊的數(shù)目。
jaccard指標(biāo),其定義為
sorenson指標(biāo)常用于生態(tài)學(xué)數(shù)據(jù)研究,其定義為
大度節(jié)點有利指標(biāo)(hubpromotedindex,hpi)用于刻畫新陳代謝網(wǎng)絡(luò)中每對反應(yīng)物的拓?fù)湎嗨瞥潭龋涠x為
大度節(jié)點不利指標(biāo)(hubdepressedindex,hdi)其定義與hpi相似,即
lhn-i指標(biāo),其定義為
aa指標(biāo)根據(jù)共同鄰居節(jié)點的度為每個節(jié)點賦予一個權(quán)重值,該權(quán)重值等于該節(jié)點的度的對數(shù)分之一,即adamic-adar指標(biāo)定義為
資源分配指標(biāo)(resourceallocation,ra)考慮網(wǎng)絡(luò)中沒有直接相連的兩個節(jié)點νx和νy,從νx可以傳遞一些資源到νy,在此過程中,它們的共同鄰居就成為傳遞的媒介。假設(shè)每個媒介都有一個單位的資源并且平均分配傳給它的鄰居,則νx可以接受到的資源數(shù)就可以定義為
偏好連接相似性(preferentialattachment,pa)應(yīng)用優(yōu)先連接的方法可以產(chǎn)生無標(biāo)度的網(wǎng)絡(luò)結(jié)構(gòu)。在這種網(wǎng)絡(luò)中,一條新邊連接到節(jié)點νx的概率正比于該節(jié)點的度kx。每一步首先去除一條鏈接,然后再添加一條鏈接。新鏈接連接節(jié)點νx和νy的概率就正比于兩節(jié)點度的乘積。由此可定義兩節(jié)點間的偏好連接相似性為
sx,y=kxky
度差異性表示兩個對象在數(shù)值上的差異程度,可以定義為
全體鄰居是對于網(wǎng)絡(luò)中的節(jié)點νx,定義其鄰居集合為γ(x),則兩個節(jié)點νx和νy的全體鄰居定義為
sxy=|γ(x)∪γ(y)|
katz指標(biāo)考慮了網(wǎng)絡(luò)中所有路徑,其定義為
其中α>0為控制路徑權(quán)重的可調(diào)參數(shù),
所述步驟s4中,除了求出好友網(wǎng)絡(luò)的拓?fù)涮卣?,還可以計算非拓?fù)涮卣鳌_@里不是直接考慮用戶和餐館之間的關(guān)系對好友關(guān)系的影響,而是用戶在一般情況下自身因素對好友關(guān)系的影響。
根據(jù)用戶和餐館的地理信息,建立用戶—地點二分圖g(x,e,y),計算其jaccard指標(biāo)來衡量兩個用戶之間的地理相似度,即
其中φ(x),φ(y)表示用戶去過餐館所在的城市。
圖2所示為4個yelp用戶關(guān)于n個餐館的地理位置聚類簇的選擇情況,其中x=[x1,x2,…xm]表示各個用戶,y=[y1,y2,…yn]表示各個餐館的地理位置聚類簇,若用戶xi去過地理位置聚類簇yj,則用有權(quán)連邊eij表示該用戶去了幾次該餐館的地理位置聚類簇,求得網(wǎng)絡(luò)的jaccard指標(biāo)來衡量兩個用戶之間的地理相似度。
對于某一用戶,其對各個餐館的評分與該餐館實際星級的差距能總體反映該用戶的情感值,兩個用戶情感值的差距又能衡量兩個用戶之間的情感相似度,即
其中f表示用戶的情感值,u表示用戶對餐廳的評價星級,b表示餐廳實際星級,兩個用戶情感值之差能夠從側(cè)面反映其情感相似度。
根據(jù)用戶所去餐館的檔次能總體反映該用戶的用餐水平,兩個用戶用餐檔次的差距能衡量兩個用戶之間的消費檔次相似度,即
其中px,py表示用戶去過的餐館的消費水平。
根據(jù)用戶所去餐館的類型能總體反映該用戶的餐飲口味,兩個用戶口味的差距能衡量兩個用戶之間的口味相似度,即
其中cx,cy表示用戶用餐口味的種類。
所述步驟s5中,模型建立,我們這個模型把兩個用戶共同去過的餐館數(shù)作為因變量,拓?fù)涮卣鞴餐従?cn)、余弦相似性(salton)、jaccard、sorenson、大度節(jié)點有利指標(biāo)(hpi)、大度節(jié)點不利指標(biāo)(hdi)、lhn-i、aa、資源分配指標(biāo)(ra)、偏好連接相似性(pa)、度差異性、全體鄰居、katz,和非拓?fù)涮卣鞯乩硐嗨贫?、情感相似度、消費檔次相似度、口味相似度作為自變量。我們借助一般的多元線性回歸模型:
y=β0+β1x1+β2x2+…+βpxp+ε,
其中為因變量,β0是p個可以精確測量并可控制的自變量。因變量y由兩部分決定:一部分是誤差項隨機(jī)變量ε,另一部分是p個自變量的線性函數(shù)β0+β1x1+β2x2+…+βpxp,其中β0,β1,β2...,βp是p+1個未知參數(shù),β1,β2,...,βp稱為回歸常數(shù),稱為偏回歸系數(shù),他們決定了因變量y與自變量x1,x2,...,xp的線性關(guān)系的具體形式。ε是隨機(jī)變量;
所述步驟s6中,對模型進(jìn)行多元線性回歸處理,調(diào)整后的r平方相比較于r平方,更能反映數(shù)據(jù)的擬合程度,一般60%為擬合程度很高。利用dw來判斷正負(fù)相關(guān),dw公式為:
dw小于2代表正相關(guān),大于2代表負(fù)相關(guān),dw統(tǒng)計量約等于2時表明數(shù)據(jù)不存在序列相關(guān),即不存在偽回歸。利用t的顯著性,大于0.05的自變量認(rèn)為對模型沒有顯著性影響,其他自變量對模型有顯著性影響。對于系數(shù)過小的自變量也不進(jìn)行考慮,得到回歸方程。之后可以對數(shù)據(jù)進(jìn)行可視化,能夠更直觀地看出模型的合適程度;
所述步驟s7中,運(yùn)行模型,進(jìn)行共線性診斷,主要看vif方差擴(kuò)大因子,若vif小于5則判斷自變量之間不存在共線性,如果兩個變量之間存在很強(qiáng)的共線性,則可以將兩個變量整合成一個,因為兩個自變量反映的是同一內(nèi)容,共線性強(qiáng)將會影響矩陣的運(yùn)算。若vif大于5則模型存在共線性,需要共線性優(yōu)化。檢測多重共線性的最簡單方法是計算模型各自變量之間的相關(guān)系數(shù),并對各相關(guān)系數(shù)進(jìn)行顯著性檢驗。這里我們利用主成分分析處理共線性問題。主成分分析是將共線性強(qiáng)的指標(biāo)聚合成一個指標(biāo),降維并進(jìn)行因子分析。一般選取特征值大于1的作為一個主成分,按照60%以上就可以成為一個主成分的要求,只選擇一個主成分即可。再次進(jìn)行多元線性回歸并分析相應(yīng)指標(biāo)。之后分析殘差,若殘差不滿足要求就轉(zhuǎn)移到步驟s3,重新整理數(shù)據(jù);
所述步驟s8中,若滿足上述步驟的要求,則說明該線性回歸方程模型滿足該數(shù)據(jù)集。利用得到的線性回歸方程,同時結(jié)合用戶和餐館信息,能夠預(yù)測兩個用戶之間的好友連邊影響力。
如上所述為本發(fā)明在yelp餐飲平臺的基于多元線性回歸的餐飲業(yè)好友連邊影響力預(yù)測方法的實施例介紹,本發(fā)明選擇根據(jù)好友網(wǎng)絡(luò)提取的拓?fù)涮卣骱头峭負(fù)涮卣髯鳛樽兞浚捎枚嘣€性回歸模型,最終的預(yù)測效果良好,達(dá)到了實際使用的要求。對發(fā)明而言僅僅是說明性的,而非限制性的。本專業(yè)技術(shù)人員理解,在發(fā)明權(quán)利要求所限定的精神和范圍內(nèi)可對其進(jìn)行許多改變,修改,甚至等效,但都將落入本發(fā)明的保護(hù)范圍內(nèi)。