本發(fā)明涉及大數(shù)據(jù)生成技術(shù)領(lǐng)域,特別涉及一種基于非時間屬性關(guān)聯(lián)的數(shù)據(jù)逼真生成方法。
背景技術(shù):
在大數(shù)據(jù)評測中,考慮到大數(shù)據(jù)集不易獲取,對大數(shù)據(jù)生成工具的研究引起了廣泛關(guān)注。大數(shù)據(jù)生成工具最重要的需求是能刻畫真實數(shù)據(jù)集中的數(shù)據(jù)特征。表格數(shù)據(jù)特征對單表而言可以分為2個特征,屬性特征、屬性關(guān)聯(lián)特征。而如何逼真的生成表格數(shù)據(jù),關(guān)鍵之一就在于如何處理表內(nèi)部關(guān)鍵屬性間的關(guān)聯(lián)性問題,如何處理表與表之間的關(guān)聯(lián)性問題。
在表格形式的大規(guī)模數(shù)據(jù)生成研究工作中,已有許多學(xué)者做了大量的工作,特別是對表與表之間的關(guān)聯(lián)、某個屬性具有的特征、與時間屬性相關(guān)的特征關(guān)注比較多,而對非時間屬性間的關(guān)聯(lián)比較少。對非時間屬性間的關(guān)聯(lián)的研究,停留在相對粗糙的層面上。對非時間字段相關(guān)性質(zhì)研究中仍存在許多需要急于解決的困難問題。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種基于非時間屬性關(guān)聯(lián)的數(shù)據(jù)逼真生成方法,該方法生成的數(shù)據(jù)能夠有效地模擬真實數(shù)據(jù)集的數(shù)據(jù)特征。
為實現(xiàn)上述目的,本發(fā)明的技術(shù)方案是:一種基于非時間屬性關(guān)聯(lián)的數(shù)據(jù)逼真生成方法,首先從數(shù)據(jù)集中提取評價主體和被評價主體的關(guān)鍵屬性,進(jìn)行兩重頻數(shù)統(tǒng)計,得到基于關(guān)鍵屬性的4個關(guān)系對:評價主體的活躍度與活躍度排名的關(guān)系、評價主體的活躍度與其出現(xiàn)頻數(shù)的關(guān)系、被評價主體的流行度與流行度排名的關(guān)系和被評價主體的流行度與其出現(xiàn)頻數(shù)的關(guān)系;然后計算各關(guān)系對的mic值來評估各關(guān)系對的相關(guān)性,并采用se分布對各關(guān)系對進(jìn)行關(guān)系擬合;接著通過擬合的關(guān)系得到評價主體的屬性特征與其規(guī)模的關(guān)系,即評價主體的活躍度與其出現(xiàn)頻數(shù)關(guān)系和評價主體的規(guī)模的關(guān)系,以及被評價主體的屬性特征與其規(guī)模的關(guān)系,即流行度與其出現(xiàn)頻數(shù)關(guān)系和被評價主體的規(guī)模的關(guān)系,并將這兩個屬性特征通過活躍度總和等于流行度總和建立關(guān)聯(lián),得到非時間屬性關(guān)聯(lián)模型;最后,基于得到的非時間屬性關(guān)聯(lián)模型,通過模型參數(shù)構(gòu)建約束,生成帶約束的二維矩陣以及二維矩陣填充方式,逼真生成數(shù)據(jù)集。
進(jìn)一步的,該方法包括以下步驟:
步驟s1:從數(shù)據(jù)集中提取關(guān)鍵屬性,包括評價主體id和被評價主體id,然后對評價主體id出現(xiàn)的頻次做頻數(shù)統(tǒng)計得到評價主體的活躍度,對被評價對象id出現(xiàn)的頻次做頻數(shù)統(tǒng)計得到被評價對象的流行度,對活躍度降序排列得到相應(yīng)的活躍度排名,對流行度降序排列得到相應(yīng)的流行度排名,對活躍度出現(xiàn)的頻次做頻數(shù)統(tǒng)計得到活躍度與其出現(xiàn)的頻數(shù),對流行度出現(xiàn)的頻次做頻數(shù)統(tǒng)計得到流行度與其出現(xiàn)的頻數(shù),從而得到以下4個關(guān)系:活躍度與活躍度排名的關(guān)系、活躍度與其出現(xiàn)頻數(shù)的關(guān)系、流行度與流行度排名的關(guān)系和流行度與其出現(xiàn)頻數(shù)的關(guān)系;
步驟s2:分別對得到的4個關(guān)系計算mic值,得到4個關(guān)系的mic值,以度量各個關(guān)系中兩個字段間的相關(guān)性;
步驟s3:對應(yīng)于4個關(guān)系分別預(yù)設(shè)4個閾值,比較4個mic值是否都不小于預(yù)設(shè)的閾值,是則進(jìn)行下一步驟,否則結(jié)束數(shù)據(jù)生成;
步驟s4:采用se分布對得到的4個關(guān)系進(jìn)行擬合,得到4個關(guān)系的se分布參數(shù);
步驟s5:設(shè)置評價主體的規(guī)模和被評價主體的規(guī)模;
步驟s6:檢驗設(shè)置的合法性,即判斷在設(shè)置的規(guī)模下評價主體和被評價主體之間能否構(gòu)成活躍度總和與流行度總和相同,是則進(jìn)入下一步驟,否則返回步驟s5,重新設(shè)置評價主體的規(guī)模和被評價主體的規(guī)模;
步驟s7:根據(jù)設(shè)置的評價主體的規(guī)模、活躍度與活躍度排名的關(guān)系、活躍度與其出現(xiàn)頻數(shù)的關(guān)系生成評價主體模型,所述評價主體模型包含評價主體的id和活躍度;根據(jù)設(shè)置的被評價主體的規(guī)模、流行度與流行度排名的關(guān)系、流行度與其出現(xiàn)頻數(shù)的關(guān)系和活躍度總和與流行度總和相等的條件生成被評價主體模型,所述被評價主體模型包含被評價主體的id和流行度;
步驟s8:根據(jù)評價主體模型和被評價主體模型生成帶約束的二維矩陣;以橫軸表示評價主體,一行表示一個評價主體,則評價主體的活躍度代表在此行選取被評價主體的數(shù)目;以縱軸表示被評價主體,一列代表一個被評價主體,則被評價主體的流行度代表在此列選取評價主體的數(shù)目;
步驟s9:根據(jù)評價主體和被評價主體的規(guī)模生成二維矩陣填充方式;所述填充方式為,橫軸與縱軸交叉填充,即填充一定數(shù)量的評價主體之后填充一定數(shù)量被評價主體;上述的兩個數(shù)量根據(jù)橫軸與縱軸長度的比值得到;
步驟s10:根據(jù)步驟s9得到的填充方式填充二維矩陣,被填充的地方作為一條記錄。
本發(fā)明的有益效果是提出了一種基于非時間屬性關(guān)聯(lián)的數(shù)據(jù)逼真生成方法,該方法從數(shù)據(jù)集中提取關(guān)鍵的兩個非時間屬性,然后通過mic值來評估字段間的相關(guān)性,并采用se分布進(jìn)行關(guān)系擬合,構(gòu)建出非時間屬性關(guān)聯(lián)模型;最后,通過模型參數(shù)構(gòu)建約束,在此約束的二維矩陣中生成數(shù)據(jù)。該算法可以解決數(shù)據(jù)生成器研發(fā)中的屬性關(guān)聯(lián)構(gòu)建方法的困難問題,有效的模擬真實數(shù)據(jù)集數(shù)據(jù)特征,對大數(shù)據(jù)測評領(lǐng)域的仿真數(shù)據(jù)生成有重要作用。
附圖說明
圖1是本發(fā)明實施例中數(shù)據(jù)逼真生成方法的流程圖。
具體實施方式
下面結(jié)合附圖及具體實施例對本發(fā)明作進(jìn)一步的詳細(xì)說明。
本發(fā)明基于非時間屬性關(guān)聯(lián)的數(shù)據(jù)逼真生成方法,首先從數(shù)據(jù)集中提取評價主體和被評價主體的關(guān)鍵屬性,進(jìn)行兩重頻數(shù)統(tǒng)計,得到基于關(guān)鍵屬性的4個關(guān)系對:評價主體的活躍度與活躍度排名的關(guān)系、評價主體的活躍度與其出現(xiàn)頻數(shù)的關(guān)系、被評價主體的流行度與流行度排名的關(guān)系和被評價主體的流行度與其出現(xiàn)頻數(shù)的關(guān)系;然后計算各關(guān)系對的最大信息系數(shù)(themaximalinformationcoefficient,mic)值,即mic值來評估各關(guān)系對的相關(guān)性,并采用拉伸指數(shù)分布(thestretchedexponentialdistribution,se),即se分布對各關(guān)系對進(jìn)行關(guān)系擬合;接著通過擬合的關(guān)系得到評價主體的屬性特征與其規(guī)模的關(guān)系,即評價主體的活躍度與其出現(xiàn)頻數(shù)關(guān)系和評價主體的規(guī)模的關(guān)系,以及被評價主體的屬性特征與其規(guī)模的關(guān)系,即流行度與其出現(xiàn)頻數(shù)關(guān)系和被評價主體的規(guī)模的關(guān)系,并將這兩個屬性特征通過活躍度總和等于流行度總和建立關(guān)聯(lián),得到非時間屬性關(guān)聯(lián)模型;最后,基于得到的非時間屬性關(guān)聯(lián)模型,通過模型參數(shù)構(gòu)建約束,生成帶約束的二維矩陣以及二維矩陣填充方式,逼真生成數(shù)據(jù)集。如圖1所示,該方法具體包括以下步驟:
步驟s1:從數(shù)據(jù)集中提取關(guān)鍵屬性,包括評價主體id和被評價主體id,然后對評價主體id出現(xiàn)的頻次做頻數(shù)統(tǒng)計得到評價主體的活躍度,對被評價對象id出現(xiàn)的頻次做頻數(shù)統(tǒng)計得到被評價對象的流行度,對活躍度降序排列得到相應(yīng)的活躍度排名,對流行度降序排列得到相應(yīng)的流行度排名,對活躍度出現(xiàn)的頻次做頻數(shù)統(tǒng)計得到活躍度與其出現(xiàn)的頻數(shù),對流行度出現(xiàn)的頻次做頻數(shù)統(tǒng)計得到流行度與其出現(xiàn)的頻數(shù),從而得到以下4個關(guān)系:活躍度與活躍度排名的關(guān)系、活躍度與其出現(xiàn)頻數(shù)的關(guān)系、流行度與流行度排名的關(guān)系和流行度與其出現(xiàn)頻數(shù)的關(guān)系。
步驟s2:分別對得到的4個關(guān)系計算mic值,得到4個關(guān)系的mic值,以度量各個關(guān)系中兩個字段間的相關(guān)性。
步驟s3:對應(yīng)于4個關(guān)系分別預(yù)設(shè)4個閾值,比較4個mic值是否都不小于預(yù)設(shè)的閾值,是則進(jìn)行下一步驟,否則結(jié)束數(shù)據(jù)生成。
步驟s4:采用se分布對得到的4個關(guān)系進(jìn)行擬合,得到4個關(guān)系的se分布參數(shù)。
步驟s5:設(shè)置評價主體的規(guī)模和被評價主體的規(guī)模。
步驟s6:檢驗設(shè)置的合法性,即判斷在設(shè)置的規(guī)模下評價主體和被評價主體之間能否構(gòu)成活躍度總和與流行度總和相同,是則進(jìn)入下一步驟,否則返回步驟s5,重新設(shè)置評價主體的規(guī)模和被評價主體的規(guī)模。其中,活躍度總和與流行度總和的計算方法為:
步驟1)在活躍度排名的取值范圍內(nèi)隨機(jī)取一個數(shù)作為活躍度排名,通過活躍度與活躍度排名關(guān)系的se分布,得到活躍度,進(jìn)一步通過活躍度與其出現(xiàn)頻數(shù)關(guān)系的se分布,得到活躍度對應(yīng)的出現(xiàn)頻數(shù);
步驟2)對步驟1)得到的出現(xiàn)頻數(shù)求和,判斷求和總數(shù)是否等于評價主體的數(shù)據(jù)規(guī)模,是則轉(zhuǎn)下一步驟,否則重復(fù)步驟1);
步驟3)將活躍度乘以其對應(yīng)的出現(xiàn)頻數(shù)得到活躍度總和;
步驟4):采用與步驟1)、2)同樣的方法,得到流行度對應(yīng)的出現(xiàn)頻數(shù),然后將流行度乘以其對應(yīng)的出現(xiàn)頻數(shù)得到流行度總和。
步驟s7:根據(jù)設(shè)置的評價主體的規(guī)模、活躍度與活躍度排名的關(guān)系、活躍度與其出現(xiàn)頻數(shù)的關(guān)系生成評價主體模型,所述評價主體模型包含評價主體的id和活躍度;根據(jù)設(shè)置的被評價主體的規(guī)模、流行度與流行度排名的關(guān)系、流行度與其出現(xiàn)頻數(shù)的關(guān)系和活躍度總和與流行度總和相等的條件生成被評價主體模型,所述被評價主體模型包含被評價主體的id和流行度。
步驟s8:根據(jù)評價主體模型和被評價主體模型生成帶約束的二維矩陣;以橫軸表示評價主體,一行表示一個評價主體,則評價主體的活躍度代表在此行選取被評價主體的數(shù)目;以縱軸表示被評價主體,一列代表一個被評價主體,則被評價主體的流行度代表在此列選取評價主體的數(shù)目。
步驟s9:根據(jù)評價主體和被評價主體的規(guī)模生成二維矩陣填充方式;所述填充方式為,橫軸與縱軸交叉填充,即填充一定數(shù)量的評價主體之后填充一定數(shù)量被評價主體;上述的兩個數(shù)量根據(jù)橫軸與縱軸長度的比值得到。
步驟s10:根據(jù)步驟s9得到的填充方式填充二維矩陣,被填充的地方作為一條記錄。從而生成逼真數(shù)據(jù)集。
以上是本發(fā)明的較佳實施例,凡依本發(fā)明技術(shù)方案所作的改變,所產(chǎn)生的功能作用未超出本發(fā)明技術(shù)方案的范圍時,均屬于本發(fā)明的保護(hù)范圍。