使用并不喜欢的matlab的笔记

主成分分析

matlab 读 csv 文件

文件:最后读取成功的 csv 是这样:逗号分隔,行末就是换行,无分号。

路网密度,道路面积率,车流量,行车速度,道路服务等级,路口饱和度,出入口连接方式
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

读取:file=csvread('D:\sylvia_modeling\2016b1data1.csv',1,0),从第 1 行 0 列开始读(你家 matlab 竟然有个地方从 0 开始数数?感动极了)

标准化

>> 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

可是作者的里面都是正的……不管了,下一步。

相关系数矩阵

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

这里和作者的结果又一样了。

后面分析

[COEFF, LATENT, EXPLAINED]=pcacov(Q)
%coeff每列是一个主成分对应的特征向量,latent是特征根,explained是贡献率

这篇文章拿了国一,可是模型出奇地简单……第二部分直接用最简单的 Greenshield
模型,一个不等式就完事了,第三部分直接没有计算,用 vissim 做了一个仿真视频,再后面灵敏度分析根据不同的累积贡献率画了个简单的图,后面我什么都没看到就结束了,我怀疑自己下载了假的论文么……

虽然不喜欢 matlab 的语言,(人家毕竟只是个软件,网上的源码还都是非码农写的,如果我按照写代码的习惯加空格,还容易出乱子,吓得我只能写最丑的)但是毕竟功能这么强大,只要能搜到合适的函数基本上都是一句话的事,还是要安下心好好用一下的呢~

再次表白 vs code,查找与替换用习惯之后简直上瘾了……

你可能感兴趣的:(使用并不喜欢的matlab的笔记)