主成分分析
matlab 讀 csv 文件
文件:最后讀取成功的 csv 是這樣:逗號分隔,行末就是換行,無分號。
路網(wǎng)密度,道路面積率,車流量,行車速度,道路服務(wù)等級,路口飽和度,出入口連接方式
7.37,0.068,282,20,3,0.97,2
10.45,0.144,450,25,4,1.11,1
6.46,0.0982,365,20,3,0.92,2
11.24,0.1865,737,30,1,0.42,3
11.38,0.2457,751,35,1,0.31,4
11.1,0.203,645,30,2,0.64,3
9.34,0.145,683,25,3,0.86,2
11.18,0.1824,700,30,2,0.73,2
讀?。?code>file=csvread('D:\sylvia_modeling\2016b1data1.csv',1,0),從第 1 行 0 列開始讀(你家 matlab 竟然有個地方從 0 開始數(shù)數(shù)?感動極了)
標(biāo)準(zhǔn)化
>> standard=zscore(file)
standard =
-1.2721 -1.5840 -1.6081 -1.2964 0.5893 0.8148 -0.4093
0.3304 -0.2625 -0.6911 -0.3536 1.5321 1.3218 -1.5009
-1.7456 -1.0589 -1.1551 -1.2964 0.5893 0.6337 -0.4093
0.7414 0.4764 0.8754 0.5893 -1.2964 -1.1769 0.6822
0.8143 1.5057 0.9518 1.5321 -1.2964 -1.5752 1.7738
0.6686 0.7633 0.3732 0.5893 -0.3536 -0.3802 0.6822
-0.2471 -0.2452 0.5806 -0.3536 0.5893 0.4164 -0.4093
0.7102 0.4051 0.6734 0.5893 -0.3536 -0.0543 -0.4093
可是作者的里面都是正的……不管了,下一步。
相關(guān)系數(shù)矩陣
Q=corrcoef(standard)
Q =
1.0000 0.8878 0.8346 0.9114 -0.5603 -0.6082 0.4223
0.8878 1.0000 0.8882 0.9831 -0.7267 -0.8079 0.7038
0.8346 0.8882 1.0000 0.8874 -0.7262 -0.7746 0.5993
0.9114 0.9831 0.8874 1.0000 -0.7778 -0.8365 0.7167
-0.5603 -0.7267 -0.7262 -0.7778 1.0000 0.9779 -0.9005
-0.6082 -0.8079 -0.7746 -0.8365 0.9779 1.0000 -0.9402
0.4223 0.7038 0.5993 0.7167 -0.9005 -0.9402 1.0000
這里和作者的結(jié)果又一樣了。
后面分析
[COEFF, LATENT, EXPLAINED]=pcacov(Q)
%coeff每列是一個主成分對應(yīng)的特征向量,latent是特征根,explained是貢獻率
這篇文章拿了國一,可是模型出奇地簡單……第二部分直接用最簡單的 Greenshield
模型,一個不等式就完事了,第三部分直接沒有計算,用 vissim 做了一個仿真視頻,再后面靈敏度分析根據(jù)不同的累積貢獻率畫了個簡單的圖,后面我什么都沒看到就結(jié)束了,我懷疑自己下載了假的論文么……
雖然不喜歡 matlab 的語言,(人家畢竟只是個軟件,網(wǎng)上的源碼還都是非碼農(nóng)寫的,如果我按照寫代碼的習(xí)慣加空格,還容易出亂子,嚇得我只能寫最丑的)但是畢竟功能這么強大,只要能搜到合適的函數(shù)基本上都是一句話的事,還是要安下心好好用一下的呢~
再次表白 vs code,查找與替換用習(xí)慣之后簡直上癮了……