張子良,陳俊豪,申明華
(上海汽車集團(tuán)股份有限公司技術(shù)中心,上海 201804)
Excel對(duì)于數(shù)據(jù)的存儲(chǔ)和處理存在自身的優(yōu)勢,利用圖表、公式和數(shù)據(jù)透視表對(duì)關(guān)系簡單,規(guī)律可循的數(shù)據(jù)進(jìn)行處理和可視化。對(duì)于較大和繁瑣數(shù)據(jù)最終的結(jié)果展示和數(shù)據(jù)管理功能并不友好,并且存在一定的局限性。
Python作為一個(gè)靈活性極高且輕量化的編程語言,可以很好的解決從數(shù)據(jù)導(dǎo)入、數(shù)據(jù)清理、數(shù)據(jù)分析、可視化展示、數(shù)據(jù)管理等完整的過程。Python不僅在數(shù)據(jù)處理方面存在先天優(yōu)勢,而且有豐富的數(shù)據(jù)處理包,使用十分方便,用較少的代碼實(shí)現(xiàn)復(fù)雜的功能。
本文介紹了一種基于 Python的全新的智能數(shù)據(jù)分析處理及可視化[1-8]展示的主觀評(píng)估軟件設(shè)計(jì)思路。該主觀評(píng)估軟件搭建了數(shù)據(jù)庫,設(shè)置了數(shù)據(jù)的輸入輸出通道,并將數(shù)據(jù)以圖形化的方式輸出,以文本的方式輸出問題,大大提高了評(píng)估數(shù)據(jù)的利用率,對(duì)于未來智能化主觀評(píng)估[9-10]場景提供參考。
可視化數(shù)據(jù)分析軟件采用了開源的Python2.7進(jìn)行編寫,并使用了 matplotlib、sqlite3、xlrd、wx、os、json和 codes等模塊。其中Python 2.7 可以直接從網(wǎng)上下載,而模塊可以用pip下載。問卷調(diào)查是一種典型的主觀評(píng)價(jià)方法,對(duì)問卷調(diào)查的結(jié)果處理是軟件的一大優(yōu)勢,調(diào)查結(jié)果不僅可以存儲(chǔ)到數(shù)據(jù)庫中,還能對(duì)數(shù)據(jù)進(jìn)行處理分析并把數(shù)據(jù)的結(jié)果以圖片和文檔的形式展示出來。
為了實(shí)現(xiàn)主觀評(píng)估數(shù)據(jù)的可視化,需要搭建數(shù)據(jù)庫。數(shù)據(jù)庫的內(nèi)層主要是由車輛信息、人員信息、問卷信息以及問題信息組成,車輛信息和問題信息主要是由初始化文件生成,人員信息和問卷信息是由問卷輸入。車型包括三廂轎車、兩廂轎車、五座 SUV、七座SUV、五座 MPV、七座 MPV以及跑車,每個(gè)車型對(duì)應(yīng)一個(gè)數(shù)據(jù)庫。主觀評(píng)價(jià)的流程是選取一定數(shù)量的測試者,對(duì)某款車型的關(guān)于人機(jī)問題進(jìn)行評(píng)價(jià)打分。例如,方向盤的前后位置是否合適,加速踏板初始位置是否合適等。
其中評(píng)估人員信息有編號(hào)、姓名、性別、年齡、駕齡、身高、體重;車輛信息有編號(hào)、車名、品牌;問題信息有編號(hào)、內(nèi)容、種類以及問題在對(duì)應(yīng)車型圖片上的xy坐標(biāo);問卷信息有編號(hào)、人員編號(hào)、汽車編號(hào)、問題評(píng)分。數(shù)據(jù)庫平臺(tái)的輸入主要是人、車、問題和問卷四個(gè)表格組成,如圖1所示,黑色圓圈代表主鍵,箭頭代表外鍵。
圖1 數(shù)據(jù)庫結(jié)構(gòu)關(guān)系
軟件運(yùn)行后會(huì)出現(xiàn)一個(gè)可以操作的圖形用戶界面,如圖2所示。界面主要涉及對(duì)數(shù)據(jù)庫、車型、問題、問卷以及結(jié)果的操作,不同車型的調(diào)查問卷可以導(dǎo)入數(shù)據(jù)庫中,并實(shí)現(xiàn)數(shù)據(jù)庫的更新。調(diào)查問卷的具體條目根據(jù)不同車型去設(shè)定,不同車型也可以采用相同的調(diào)查問卷,問卷主要涉及整車開發(fā)前期與人機(jī)相關(guān)的工程問題。例如,頭部空間、腿部空間、車門扶手高度、門檻高度、娛樂屏手伸及范圍等上百條問題。
不同乘員對(duì)主觀問題評(píng)價(jià)方式不同,且評(píng)價(jià)標(biāo)準(zhǔn)不一致,為了獲得數(shù)據(jù)的全面性,需要更多乘員的評(píng)估數(shù)據(jù)。隨著車型的增加以及調(diào)查問題的更改,評(píng)估數(shù)據(jù)的數(shù)量越來越大。通過數(shù)據(jù)庫中的SQL語句的編譯,只需創(chuàng)建一次過程就可以任意次調(diào)用,對(duì)于大量數(shù)據(jù)的處理僅僅是重復(fù)性的簡單調(diào)用,提高了數(shù)據(jù)庫的執(zhí)行速度。
初始化數(shù)據(jù)庫:會(huì)生成數(shù)據(jù)庫及其四個(gè)表,并根據(jù)事先準(zhǔn)備好的 Cars.xlsx與 Questions.xlsx文件添加表 Cars和Questions中的條目。
打印數(shù)據(jù)庫:可以打印數(shù)據(jù)庫中所有表中的所有條目。增加/編輯車型:輸入車型信息,根據(jù)輸入編號(hào)自動(dòng)選擇增加或者編輯功能。如圖3所示。對(duì)已存入數(shù)據(jù)庫的車型可以調(diào)用查看,也可以增加新的車型信息。
圖2 人機(jī)工程可視化界面
圖3 車型輸入界面
刪除車型:輸入想刪除車型的編號(hào),若不存在會(huì)有提示。在車型、問題以及問卷這三項(xiàng)內(nèi)容中均增加了刪除選項(xiàng),方便剔除過時(shí)的車型信息。為了保證數(shù)據(jù)庫運(yùn)行效率和存入數(shù)據(jù)的可操作化,設(shè)置刪除選項(xiàng)是解決問題的關(guān)鍵。
增加/編輯問題:輸入問題信息,根據(jù)輸入編號(hào)自動(dòng)選擇增加或者編輯功能。每個(gè)問題對(duì)應(yīng)一個(gè)編號(hào),通過輸入編號(hào)或者問題信息,均可以得到調(diào)查人群對(duì)該人機(jī)問題的評(píng)價(jià)。查詢問題的界面如圖4所示。
圖4 輸入問題界面
刪除問題:輸入想刪除問題的編號(hào),若不存在會(huì)有提示,如圖5所示。問題的刪除需要謹(jǐn)慎操作,如果不慎刪掉可用的數(shù)據(jù),需要初始化數(shù)據(jù)庫,恢復(fù)到原始的錄入數(shù)據(jù)。
圖5 刪除問題界面
某車型主觀評(píng)估問卷測試結(jié)果使用該分析平臺(tái)導(dǎo)入。導(dǎo)入問卷:首先要輸入問卷針對(duì)車的編號(hào),然后選擇問卷的csv文件(可多選),問卷中若有問題空白或重復(fù)會(huì)按照Null賦值,并在計(jì)算中跳過。
圖6 Mazda-CX5主觀評(píng)價(jià)在圖形上的輸出結(jié)果
輸出結(jié)果:能為數(shù)據(jù)庫中存在評(píng)價(jià)的車型輸出結(jié)果圖和一個(gè)簡單的評(píng)價(jià)文檔。其中圖6為Mazda-CX5的輸出結(jié)果圖,圖形展示了車型的二維輪廓,并且將主觀評(píng)價(jià)的人機(jī)問題顯示在車身對(duì)應(yīng)的位置,用不同的顏色代替評(píng)價(jià)的關(guān)注度,圖中各種顏色的圓點(diǎn)代表車身對(duì)應(yīng)位置的人機(jī)問題。為了方便查看關(guān)注度高且重疊的區(qū)域,輸出評(píng)價(jià)問題的具體內(nèi)容,如圖7所示。
圖7 馬自達(dá)CX5主觀評(píng)價(jià)的文本輸出
通過該平臺(tái)可以對(duì)數(shù)據(jù)進(jìn)行讀寫和增減,可以添加新車型的主觀評(píng)價(jià)數(shù)據(jù)并保存在數(shù)據(jù)庫中。更加方便的查詢不同車型的人機(jī)主觀評(píng)估問題,利用對(duì)應(yīng)車型圖片的坐標(biāo)定位顯示出人機(jī)問題的具體位置,通過文本輸出人機(jī)評(píng)估的具體問題和具體結(jié)果,不同顏色區(qū)分評(píng)估結(jié)果的差異。
對(duì)于關(guān)系復(fù)雜、體量較大的數(shù)據(jù)經(jīng)過數(shù)據(jù)庫的處理分析并對(duì)程序進(jìn)行封裝,得到一個(gè)可視化的輸出界面,可以更加有效的觀察、操縱、對(duì)比和理解數(shù)據(jù),發(fā)現(xiàn)隱藏在信息內(nèi)部的特征和規(guī)律。
人機(jī)工程主觀評(píng)估可視化分析軟件考慮了人、車、問卷、問題四者之間的關(guān)系,并利用Python對(duì)數(shù)據(jù)進(jìn)行計(jì)算處理,得到直觀形象的可視化界面,實(shí)現(xiàn)了整車開發(fā)過程中人機(jī)工程的快速檢驗(yàn)。
不同車型的人機(jī)工程問題對(duì)比、結(jié)果輸出在三維汽車圖形中的顯示、輸出界面的多功能化是接下來需要進(jìn)一步完善的內(nèi)容。