王 濤,叢 茜,尚鈺量,程 輝,張?jiān)诜浚磔?/p>
(1.上海航天設(shè)備制造總廠,上海 200245;2.上海大學(xué) 機(jī)電工程與自動(dòng)化學(xué)院,上海 200072)
在以客戶為中心商業(yè)模式中,產(chǎn)品的多樣化、客戶需求的個(gè)性化及嚴(yán)重的同質(zhì)化現(xiàn)象給客戶帶來(lái)了更加多樣性的選擇空間,致使大多數(shù)制造企業(yè)出現(xiàn)客戶流失現(xiàn)象,而發(fā)展新的客戶也極其不易的,使得企業(yè)想要生存與發(fā)展須采取一定的措施來(lái)挽留更多的客戶,即企業(yè)只需低成本為客戶服務(wù),就能使忠誠(chéng)客戶為其他客戶選擇本企業(yè)服務(wù)或產(chǎn)品帶來(lái)積極的效應(yīng),進(jìn)而為企業(yè)創(chuàng)造新的交易。對(duì)制造業(yè)客戶歷史數(shù)據(jù)進(jìn)行深度挖掘,同時(shí)發(fā)現(xiàn)新的客戶群,減少客戶群流失顯然是十分重要的。有研究表明,一個(gè)小客戶群保持率的提高有助于企業(yè)利潤(rùn)客觀的改善,客戶流失率減少5%,在不同的行業(yè)中,可以使企業(yè)利潤(rùn)增加30%~85%。相比于客戶挽留,發(fā)展一位新客戶的成本是挽留一位客戶的5~7倍,而保持現(xiàn)有客戶的成功率卻是發(fā)展新客戶成功率的16倍[1]。因此如何能夠有效地辨別哪些客戶是具有潛在流失的客戶,哪些客戶是忠誠(chéng)的客戶,使得建立產(chǎn)品服務(wù)系統(tǒng)客戶流失模型是制造企業(yè)成功與否的關(guān)鍵。
產(chǎn)品服務(wù)系統(tǒng)客戶流失狀態(tài)識(shí)別,即客戶流失變量到客戶流失狀態(tài)的映射,其決定著產(chǎn)品服務(wù)系統(tǒng)方案配置設(shè)計(jì)是否能精準(zhǔn)進(jìn)行,是提供有效方案給客戶,并成功實(shí)現(xiàn)客戶挽留的前提。識(shí)別出產(chǎn)品服務(wù)系統(tǒng)客戶流失狀態(tài),對(duì)于輔助設(shè)計(jì)師對(duì)針對(duì)性的客戶進(jìn)行產(chǎn)品服務(wù)系統(tǒng)方案設(shè)計(jì)而言,是非常重要的一步。因此,產(chǎn)品服務(wù)系統(tǒng)客戶流失狀態(tài)的識(shí)別,企業(yè)能及早發(fā)現(xiàn)未來(lái)具有潛在流失行為的客戶,并采用有效措施,使客戶自身價(jià)值得到提升有著重要意義。
為了有效的預(yù)測(cè)出具有潛在流失行為的客戶問(wèn)題,許多國(guó)內(nèi)外學(xué)者應(yīng)用基于傳統(tǒng)統(tǒng)計(jì)學(xué)方法,如貝葉斯分類器[2-3]、聚類分析[4]、決策樹(shù)[5-6]、回歸[7]等,這些方法對(duì)模型的構(gòu)建具有較強(qiáng)的可解釋性,但是其均要求大量的數(shù)據(jù),模型對(duì)數(shù)據(jù)訓(xùn)練有一定的難度。而客戶流失問(wèn)題是典型的二分類問(wèn)題,客戶數(shù)據(jù)往往是高維度的、非線性的,分類結(jié)果往往需有較高的準(zhǔn)確性,上述模型優(yōu)越性不能很好的體現(xiàn)?;谌斯ぶ悄艿念A(yù)測(cè)方法,如人工神經(jīng)網(wǎng)絡(luò)[8]、支持向量機(jī)[9-10]。相對(duì)于傳統(tǒng)的統(tǒng)計(jì)學(xué)方法,基于人工智能的預(yù)測(cè)方法將人工智能因素引入到預(yù)測(cè)方法中,可獲取更高的預(yù)測(cè)精度,但是神經(jīng)網(wǎng)絡(luò)主要是依靠傳統(tǒng)的經(jīng)驗(yàn)風(fēng)險(xiǎn)最小化原則進(jìn)行建模與預(yù)測(cè),在處理小樣本時(shí),易導(dǎo)致過(guò)度學(xué)習(xí),致使泛化能力下降。而支持向量機(jī)是一種基于結(jié)構(gòu)風(fēng)險(xiǎn)最小化的機(jī)器學(xué)習(xí)方法,有較強(qiáng)的自適應(yīng)和學(xué)習(xí)能力,能克服過(guò)擬合現(xiàn)象,其泛化能力強(qiáng)。但是傳統(tǒng)的支持向量機(jī)在進(jìn)行模型構(gòu)建時(shí),其性能受其參數(shù)影響較大,要想使客戶流失預(yù)測(cè)模型獲得最優(yōu)的性能,首先需要選擇最合適的SVM參數(shù)。粒子群算法是一種新興的優(yōu)化算法,由于其算法流程簡(jiǎn)單、參數(shù)設(shè)置少、收斂速度快等優(yōu)點(diǎn)[11],近年來(lái)在許多領(lǐng)域都得到了應(yīng)用,如粒子群算用于優(yōu)化問(wèn)題[12]、分類問(wèn)題[13,14]和規(guī)則挖掘問(wèn)題[15-16]?;赑SO優(yōu)化SVM的方法已被應(yīng)用于客戶流失預(yù)測(cè)模型中[17],但是傳統(tǒng)標(biāo)注PSO優(yōu)化SVM參數(shù)易于陷入局部最優(yōu)[18]。
鑒于上述分析,為了提高SVM在顧客流失模型中的預(yù)測(cè)精度,對(duì)關(guān)鍵參數(shù)的設(shè)置與優(yōu)化非常重要。因此,本文針對(duì)客戶流失數(shù)據(jù)的特點(diǎn)和現(xiàn)有算法的不足,構(gòu)建了一種改進(jìn)粒子群算法優(yōu)化支持向量機(jī)的產(chǎn)品服務(wù)系統(tǒng)客戶流失預(yù)測(cè)模型。
支持向量機(jī)是Cortes等[19]在1995年基于統(tǒng)計(jì)學(xué)理論提出來(lái)的,是一種小樣本學(xué)習(xí)方法,其主要思想是針對(duì)二分類問(wèn)題,在高維度復(fù)雜的空間中尋找一個(gè)超平面作為兩類的分割,以保證最小的分類錯(cuò)誤。而客戶流失預(yù)測(cè)問(wèn)題是一種典型的非線性、高維度的二分類問(wèn)題。首先,構(gòu)造訓(xùn)練集為:{(x,y)},x是輸入樣本數(shù)據(jù),y是樣本類別。SVM可將樣本通過(guò)非線性函數(shù)f(x)映射射到高維度空間G,并在高維空間中進(jìn)行線性回歸,其線性回歸函數(shù)為:
g(x)=w·f(x)+b
(1)
式中,權(quán)重向量為w,偏置為b。
根據(jù)結(jié)構(gòu)風(fēng)險(xiǎn)最小化原則,可將支持向量機(jī)進(jìn)行估計(jì)回歸的問(wèn)題轉(zhuǎn)化為如下優(yōu)化問(wèn)題:
(2)
為了進(jìn)一步簡(jiǎn)化上述模型,引入拉格朗日函數(shù),將其轉(zhuǎn)化為二次優(yōu)化問(wèn)題,則有:
(3)
式中,αi和αi*均為拉格朗日乘子。
則得到的支持向量機(jī)預(yù)測(cè)模型為:
(4)
在進(jìn)行非線性預(yù)測(cè)時(shí),最關(guān)鍵的是選擇合適的核函數(shù)以及確定相對(duì)應(yīng)的參數(shù)。常用的核函數(shù)有Sigmoid核函數(shù)、多項(xiàng)式核函數(shù)、徑向基核函數(shù)等[20]。核函數(shù)及其參數(shù)通常情況下是通過(guò)不斷的進(jìn)行實(shí)驗(yàn),然后經(jīng)過(guò)對(duì)比分析的方法獲取。但是在大多數(shù)情況下,選取徑向基核函數(shù)進(jìn)行預(yù)測(cè)的性能較好,所以本文采用徑向基核函數(shù)。徑向基核函數(shù)可表示為:
(5)
產(chǎn)品服務(wù)系統(tǒng)客戶流失預(yù)測(cè)模型中的SVM參數(shù)優(yōu)化目標(biāo)是提高預(yù)測(cè)準(zhǔn)確度,因此采用將預(yù)測(cè)準(zhǔn)確度(T)作為優(yōu)化目標(biāo)函數(shù),因此,PSO對(duì)SVM參數(shù)優(yōu)化目標(biāo)函數(shù)為:
(6)
模型中參數(shù)(C,δ)的選取決定了是否能夠精確預(yù)測(cè)。在通常情況下,將整理好的數(shù)據(jù)分為兩組,其中一組用于訓(xùn)練以保證預(yù)測(cè)精度,而交叉驗(yàn)證的方法是該方法的改進(jìn)方法。通過(guò)交叉驗(yàn)證的方法搜索到最優(yōu)的參數(shù)(C,δ),選取精度最高的一組參數(shù)作為最優(yōu)的參數(shù)。
則最終的支持向量機(jī)的預(yù)測(cè)模型為:
(7)
(8)
(9)
1.3.1 初始化方式
標(biāo)準(zhǔn)粒子群算法其粒子群初始化位置通常是隨機(jī)分布的。在搜索空間內(nèi),種群初始化位置在一定程度上對(duì)算法的尋優(yōu)效果有影響[21]。因此采用基于Sobol()序列[21]產(chǎn)生均勻隨機(jī)數(shù)的方法初始化粒子群(如圖1b),相對(duì)于圖1 a,圖1 b中的點(diǎn)在空間的分布更加均勻,解的多樣性更好,這樣更容易搜尋到最優(yōu)解。初始化方式為:
pij=p1jmin+Sobol(i,j)·(p1jmax-p1jmin)
(10)
vij=v1jmin+Sobol(i,j)·(v1jmax-v1jmin)
(11)
p1jmin與p1jmax分別表示粒子群位置的第j維的最小值與最大值,v1jmin與v1jmax分別表示速度最小值與最大值。
(a) 普通隨機(jī)rand序列點(diǎn) (b) 基于Sobol的序列點(diǎn)圖1 普通隨機(jī)rand序列與Sobol序列
1.3.2 慣性權(quán)重
標(biāo)準(zhǔn)粒子群算法易陷入局部極值和后期容易出現(xiàn)嚴(yán)重的震蕩,為了平衡全局搜索能力與局部搜索能力,采用動(dòng)態(tài)慣性權(quán)重,在算法初期,設(shè)置較大的慣性權(quán)重以便在較大范圍內(nèi)搜索,而在算法后期小的權(quán)重有利于在精細(xì)的局部范圍內(nèi)搜索。本文采用一種慣性權(quán)重非線性遞減方法,使慣性權(quán)重在算法早期下降較慢,算法后期下降較快。非線性權(quán)重更新方程為:
(12)
式中,wmax、wmin表示慣性權(quán)重的最大值與最小值。wIter表示第Iter代慣性權(quán)重值。Iter表示當(dāng)前迭代次數(shù),maxgen表示最大迭代次數(shù)。
產(chǎn)品服務(wù)系統(tǒng)客戶流失預(yù)測(cè)的目標(biāo)是通過(guò)發(fā)現(xiàn)具有潛在流失行為的客戶,采用一定的挽留措施,實(shí)現(xiàn)客戶挽留率最大化??蛻袅魇ьA(yù)測(cè)模型是增強(qiáng)客戶忠誠(chéng)和持久關(guān)系的一種重要策略,其實(shí)質(zhì)上是以客戶的歷史記錄數(shù)據(jù)為基礎(chǔ),對(duì)潛在的流失客戶狀態(tài)進(jìn)行判斷的過(guò)程。其主要過(guò)程:首先從客戶歷史記錄中抽取核心屬性,然后通過(guò)數(shù)據(jù)挖掘方法挖掘出具有潛在流失傾向的客戶,最后企業(yè)根據(jù)挖掘出結(jié)果,及時(shí)制定出具體的挽留策略和價(jià)值提升策略,減少客戶流失。其中,產(chǎn)品服務(wù)系統(tǒng)客戶流失預(yù)測(cè)模型流程如圖2所示。
圖2 產(chǎn)品服務(wù)系統(tǒng)客戶流失預(yù)測(cè)模型流程圖
支持向量機(jī)中參數(shù)優(yōu)化就是為了找到一組(C,δ)使得準(zhǔn)確率值最大,采用改進(jìn)粒子群算法優(yōu)化這組參數(shù)。IPSO-SVM的客戶流失預(yù)測(cè)模型算法流程如下:
(1)對(duì)數(shù)據(jù)集進(jìn)行歸一化處理,將全部信息映射到[0,1]區(qū)間內(nèi);
(2)初始化各個(gè)輸入?yún)?shù),基于Sobol序列初始化粒子群,每個(gè)粒子代表一組參數(shù)(C,δ);
(3)利用SVM進(jìn)行學(xué)習(xí)和訓(xùn)練,并通過(guò)交叉驗(yàn)證的思想計(jì)算目標(biāo)函數(shù)值。更新粒子的位置和速度;
(4)計(jì)算每個(gè)粒子目標(biāo)函數(shù)值,并更新全局最優(yōu)解gbest和局部最優(yōu)解pbest;
(5)如果達(dá)到迭代次數(shù),保存全局最優(yōu)粒子位置,否則轉(zhuǎn)至步驟(3);
(6)將最優(yōu)位置對(duì)應(yīng)的SVM參數(shù)構(gòu)建產(chǎn)品服務(wù)系統(tǒng)客戶流失預(yù)測(cè)模型。
為了驗(yàn)證基于IPSO-SVM產(chǎn)品服務(wù)系統(tǒng)客戶流失模型的可行性,從某數(shù)控機(jī)床公司在某一時(shí)間段內(nèi)客戶流失狀況數(shù)據(jù)進(jìn)行整理與分析,從客戶歷史數(shù)據(jù)中抽取8個(gè)核心客戶流失影響屬性,主軸轉(zhuǎn)速(CR1,r/min),自動(dòng)化程度(CR2),加工范圍(CR3,mm),客戶當(dāng)前是否可聯(lián)系(CR4),加工精度(CR5,公差等級(jí)),可靠性(CR6,平均無(wú)故障時(shí)間(h)),機(jī)床本身精度(CR7),維修人員技術(shù)支持(CR8)。初始化數(shù)據(jù)集中有157個(gè)樣本(見(jiàn)表1),從中隨機(jī)選取90個(gè)數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)集,其中47位客戶在該時(shí)間段內(nèi)客戶狀態(tài)為流失客戶,其他客戶為非流失客戶(正常狀態(tài)客戶)。另外67個(gè)樣本為測(cè)試數(shù)據(jù)集,其中包含了36個(gè)正常狀態(tài)客戶與31個(gè)流失客戶。企業(yè)客戶狀態(tài)為流失客戶用1表示,客戶狀態(tài)為非流失客戶用2表示。其中,各核心屬性的取值范圍為CR1∈{500~8000},CR2∈{低、中、高},CR3∈{5~20,20~50,50~80,80~100},CR4∈{N,Y},CR5∈{6,7,8,…,13},CR6∈{400~1200},CR7∈{低、中、高},CR8∈{N,Y}。為了將上面數(shù)據(jù)轉(zhuǎn)化為支持向量機(jī)能夠接受的數(shù)據(jù)形式,其處理方式為:將CR2及CR7采用{(1 0 0)/(0 1 0)/(0 0 1)}形式表示,CR4及CR8采用{(1 0)/(0 1)}表示。預(yù)測(cè)流失計(jì)算指標(biāo)矩陣如表2所示。
表1 初始數(shù)據(jù)集
表2 預(yù)測(cè)流失計(jì)算指標(biāo)矩陣
為了驗(yàn)證所提的IPSO-SVM預(yù)測(cè)模型的泛化性能,采用BP神經(jīng)網(wǎng)絡(luò)(BPNN)、SVM、PSO-SVM模型作為對(duì)比模型,模型評(píng)價(jià)指標(biāo)為模型準(zhǔn)確率、命中率、覆蓋率與提升系數(shù)。其中,模型評(píng)價(jià)標(biāo)準(zhǔn)由預(yù)測(cè)流失計(jì)算指標(biāo)矩陣獲得。并有如下定義:
(13)
(14)
(15)
(16)
針對(duì)所構(gòu)建的模型,設(shè)置BPNN網(wǎng)絡(luò)隱含層結(jié)構(gòu)為23-10-2。粒子群算法種群規(guī)模N=30,c1=c2=2,算法最大迭代次數(shù)為200代,wmin=0.4,wmax=0.9。PSO及IPSO算法優(yōu)化參數(shù)(C,δ)的取值范圍為0.01≤C≤100,0.01≤σ≤1000。
采用BPNN、SVM、PSO-SVM及IPSO-SVM算法對(duì)數(shù)控機(jī)床產(chǎn)品服務(wù)系統(tǒng)客戶流失狀態(tài)進(jìn)行預(yù)測(cè)結(jié)果如圖3所示。從圖3預(yù)測(cè)結(jié)果可以得到如下結(jié)論:
相對(duì)于BPNN模型,SVM的預(yù)測(cè)準(zhǔn)確率、命中率、覆蓋率及提升系數(shù)均有所提高,這說(shuō)明SVM能夠改善BP神經(jīng)網(wǎng)絡(luò)過(guò)擬合現(xiàn)象。相對(duì)于SVM模型,PSO-SVM、IPSO-SVM的預(yù)測(cè)準(zhǔn)確率都有所提高,表明粒子群算法在進(jìn)行支持向量機(jī)的參數(shù)優(yōu)化后,能夠克服基于網(wǎng)格搜索算法的難以找到SVM最優(yōu)參數(shù)的缺陷,降低了產(chǎn)品服務(wù)系統(tǒng)客戶流失的預(yù)測(cè)誤差,提高了預(yù)測(cè)準(zhǔn)確度。相對(duì)與BPNN、SVM及PSO-SVM模型,基于IPSO-SVM的產(chǎn)品服務(wù)系統(tǒng)客戶流失預(yù)測(cè)結(jié)果更加理想,這是由于SVM能夠更好的克服BPNN過(guò)擬合現(xiàn)象,而IPSO-SVM比PSO-SVM預(yù)測(cè)結(jié)果更好,是由于改進(jìn)的粒子群算法能夠更好地避免算法陷入局部最優(yōu)值,因此基于改進(jìn)的粒子群算法優(yōu)化支持向量機(jī)比標(biāo)準(zhǔn)支持向量機(jī)及標(biāo)準(zhǔn)粒子群優(yōu)化支持向量機(jī)在產(chǎn)品服務(wù)系統(tǒng)客戶流失狀態(tài)預(yù)測(cè)問(wèn)題上具有更好的性能。
圖3 產(chǎn)品服務(wù)系統(tǒng)客戶流失狀態(tài)預(yù)測(cè)性能對(duì)比
SVM在進(jìn)行產(chǎn)品服務(wù)系統(tǒng)客戶流失預(yù)測(cè)過(guò)程中,如果其參數(shù)選取不合理,直接影響著客戶流失預(yù)測(cè)模型的準(zhǔn)確度。為了提高產(chǎn)品服務(wù)系統(tǒng)客戶流失預(yù)測(cè)模型中預(yù)測(cè)精度,提出了一種改進(jìn)的粒子群算法與支持向量機(jī)集成的智能化學(xué)習(xí)方法。首先,采用支持向量機(jī)在處理小樣本、高維度、非線性數(shù)據(jù)條件下分類具有較高準(zhǔn)確度的優(yōu)勢(shì),建立了改進(jìn)粒子群算法優(yōu)化支持向量機(jī)的客戶流失預(yù)測(cè)模型(IPSO-SVM)。將該模型應(yīng)用于某高檔數(shù)控機(jī)床產(chǎn)品服務(wù)系統(tǒng)的客戶流失中,通過(guò)與BPNN、SVM、PSO-SVM對(duì)比,驗(yàn)證了所提方法具有較強(qiáng)的泛化能力及擬合精度,有助于精準(zhǔn)地為潛在流失客戶提供具體的產(chǎn)品服務(wù)系統(tǒng)方案。
[參考文獻(xiàn)]
[1] Reichheld F F, Jr S W. Zero defections: quality comes to services.[J]. Harvard Business Review, 1990, 68(5):105.
[2] Sun P, Guo X, Zhang Y, et al. Analytical Model of Customer Churn Based on Bayesian Network[C]// International Conference on Computational Intelligence and Security, IEEE, 2013:269-271.
[3] Verbraken T, Verbeke W, Baesens B. Profit optimizing customer churn prediction with Bayesian network classifiers[J]. Intelligent Data Analysis, 2014, 18(18):3-24.
[4] 王穎, 陳治平. 結(jié)合K-means的分類方法在電信客戶流失中的應(yīng)用[J]. 佳木斯大學(xué)學(xué)報(bào)(自然科學(xué)版), 2010, 28(2):175-179.
[5] Luo B, Shao P, Liu J. Customer Churn Prediction Based on the Decision Tree in Personal Handyphone System Service[C]// International Conference on Service Systems and Service Management, IEEE Xplore, 2007:1-5.
[6] 林芳. 基于決策樹(shù)的客戶流失模型的建立[J]. 赤峰學(xué)院學(xué)報(bào)(自然版), 2016, 32(21):18-19.
[7] Mohammadi G, Tavakkolimoghaddam R, Mohammadi M. Hierarchical Neural Regression Models for Customer Churn Prediction[J]. Journal of Engineering, 2013, 2013(23):1-9.
[8] Tsai C F, Lu Y H. Customer churn prediction by hybrid neural networks[J]. Expert Systems with Applications An International Journal, 2009, 36(10):12547-12553.
[9] 趙宇, 李兵, 李秀,等. 基于改進(jìn)支持向量機(jī)的客戶流失分析研究[J]. 計(jì)算機(jī)集成制造系統(tǒng), 2007, 13(1):202-207.
[10] 王觀玉, 郭勇. 支持向量機(jī)在電信客戶流失預(yù)測(cè)中的應(yīng)用研究[J]. 計(jì)算機(jī)仿真, 2011, 28(4):115-118.
[11] Nissen V, Günther M. Application of Particle Swarm Optimization to the British Telecom Workforce Scheduling Problem[C]// Int. Conference on the Practice and Theory of Automated Timetabling, Sintef, Trondheim. 2012.
[12] Chen D, Chen J, Jiang H, et al. An improved PSO algorithm based on particle exploration for function optimization and the modeling of chaotic systems[J]. Soft Computing, 2015, 19(11):3071-3081.
[13] Das H, Jena A K, Nayak J, et al. A Novel PSO Based Back Propagation Learning-MLP (PSO-BP-MLP) for Classification[J]. 2015,2:461-471.
[14] 張偉, 師奕兵, 周龍甫,等. 基于改進(jìn)粒子群算法的小波神經(jīng)網(wǎng)絡(luò)分類器[J]. 儀器儀表學(xué)報(bào), 2010, 31(10):2203-2209.
[15] Beiranvand V, Mobasher-Kashani M, Abu Bakar A. Multi-objective PSO algorithm for mining numerical association rules without a priori discretization[J]. Expert Systems with Applications, 2014, 41(9):4259-4273.
[16] 劉園, 張?jiān)诜? 姚迪,等. 基于多目標(biāo)離散粒子群的產(chǎn)品服務(wù)系統(tǒng)方案配置規(guī)則提取[J]. 上海交通大學(xué)學(xué)報(bào), 2015, 49(8):1123-1130.
[17] 卓濤. 基于粒子群優(yōu)化支持向量機(jī)的電子商務(wù)客戶流失預(yù)測(cè)模型[J]. 農(nóng)業(yè)網(wǎng)絡(luò)信息, 2014(6): 88-91.
[18] 鞠秋文. PSO-SVM算法在網(wǎng)絡(luò)入侵檢測(cè)中的研究[J]. 計(jì)算機(jī)仿真, 2011, 28(4): 130-132.
[19] Cortes C, Vapnik V. Support-vector networks[J]. Machine Learning, 1995, 20(3):273-297.
[20] 王姣, 劉海燕. 基于支持向量機(jī)和遺傳算法的刀具故障診斷[J]. 組合機(jī)床與自動(dòng)化加工技術(shù), 2013(1): 74-76.
[21] Joe S, Kuo F Y. Constructing Sobol Sequences with Better Two-Dimensional Projections[J]. Siam Journal on Scientific Computing, 2008, 30(5):2635-2654.