數(shù)據(jù)的準備
數(shù)據(jù)獲取
%1.從excel讀取數(shù)據(jù)
xlsread('excel所在位置',3,'B1:C5')
%3代表sheet3;B1:C5代表讀入數(shù)據(jù)范圍
%寫入
xlsread('excel所在位置',a,3,'B1:C5')
%a代表待寫入數(shù)據(jù);3代表sheet3;B1:C5代表具體位置
%2.從TXT讀取數(shù)據(jù)
load('***.txt')
%保存
save c:\***.txt a -ascii;
%a是變量 以ASCII碼存放
%3.如果TXT文件存儲了不同類型數(shù)據(jù),分類讀取就需要textread
[name,type,x,y,answer]=textread('**.txt','format',N,'headerlines',M)
%format 代表格式;N表示讀取的次數(shù),每次讀一行;headerlines表示從M+1行開始讀取。
%4.將信息寫入TXT,可以控制寫入精度
file=fopen('**.txt','w')
fprintf(file,'%6.2f',3.14)%6.2f表示輸出寬度為6,精確到小數(shù)點2位
%5.讀取圖片
A=imread(filename)
%A存放像素矩陣
%6.讀入并將圖像拼接。此程序需要一定的算法提高拼接正確率
%% 讀取圖片
%鏈接:https://pan.baidu.com/s/1Ow6L7a-ArvFllaK4M6j4tw
%提取碼:sqyx
%鏈接:https://pan.baidu.com/s/1z0NPoyB96CT4FEQUJsZCfg
%提取碼:u3df
% 《MATLAB數(shù)學建模方法與實踐》(《MATLAB在數(shù)學建模中的應用》升級版),北航出版社,卓金武、王鴻鈞編著.
clc, clear, close all
a1=imread('000.bmp');
[m,n]=size(a1);
%% 批量讀取圖片
dirname = 'ImageChips';
files = dir(fullfile(dirname, '*.bmp'));
a=zeros(m,n,19);
pic=[];
for ii = 1:length(files)
filename = fullfile(dirname, files(ii).name);
a(:,:,ii)=imread(filename);
pic=[pic,a(:,:,ii)];
end
double(pic);
figure
imshow(pic,[])
%7.讀取視頻
%% 讀取視頻數(shù)據(jù)
% 《MATLAB數(shù)學建模方法與實踐》(《MATLAB在數(shù)學建模中的應用》升級版),北航出版社,卓金武、王鴻鈞編著.
videoFReader = vision.VideoFileReader('vippedtracking.mp4');%寫上自己視頻的名字
% 播放視頻文件
videoPlayer = vision.VideoPlayer;
while ~isDone(videoFReader)
videoFrame = step(videoFReader);
step(videoPlayer, videoFrame);
end
release(videoPlayer);
%% 設置播放方式
% 重置播放器
reset(videoFReader)
% 增加播放器的尺寸
r = groot;
scrPos = r.ScreenSize;
% Size/position is always a 4-element vector: [x0 y0 dx dy]
dx = scrPos(3); dy = scrPos(4);
videoPlayer = vision.VideoPlayer('Position',[dx/8, dy/8, dx*(3/4), dy*(3/4)]);
while ~isDone(videoFReader)
videoFrame = step(videoFReader);
step(videoPlayer, videoFrame);
end
release(videoPlayer);
reset(videoFReader)
%% 獲取視頻中的圖像
videoFrame = step(videoFReader);
n = 0;
while n~=15
videoFrame = step(videoFReader);
n = n+1;
end
figure, imshow(videoFrame)
release(videoPlayer);
release(videoFReader)
數(shù)據(jù)處理
缺失值處理
- 刪除法:刪除小部分
- 插補法:
a. 均值插補:定距用平均值、非定距用眾數(shù)。
b. 回歸插補。
c.極大似然估計(ML):觀測數(shù)據(jù)的邊際分布對未知參數(shù)進行極 大似然估計。也可以通過期望最大化來參數(shù)估計。有效樣本的數(shù)量足夠保證ML估計值是漸進無偏的并服從正態(tài)分布。
噪音過濾
noise是數(shù)據(jù)隨機誤差,正常的,但會影響變量真值反映。
方法有:
- a. 回歸法:前提是要有線性趨勢。
回歸法是用函數(shù)擬合數(shù)據(jù)來光滑數(shù)據(jù),線性回歸得到兩個屬性的最佳直線,使得通過一個預測另一個。多元線性回歸的屬性多于兩個。通過回歸后的函數(shù)值代替原始數(shù)據(jù),避免噪聲感染。 - b.均值平滑法:前提是具有序列特征的變量。
用臨近的若干數(shù)據(jù)均值替換原來數(shù)據(jù)。 - c. 離散點分析:通過聚類的方法檢測離散點,刪除它。
- d.小波過濾法:本質(zhì)是一個函數(shù)逼近問題。
即如何在小波母函數(shù)伸縮和平移所展成的函數(shù)空間中,根據(jù)提出的衡量準則,對原信號的最佳逼近,完成原信號和噪聲信號的區(qū)分。也就是從實際信號空間到小波函數(shù)空間的最佳映射,從而得到原信號的最佳恢復。
數(shù)據(jù)集成
將分散的數(shù)據(jù)源中的數(shù)據(jù),集成到一個統(tǒng)一的數(shù)據(jù)集合。(針對數(shù)學建模。就是獲取所需要的數(shù)據(jù))
數(shù)據(jù)歸約
- 屬性選擇:刪除不相關(guān)的屬性:通過數(shù)據(jù)相關(guān)性分析、數(shù)據(jù)統(tǒng)計分析、數(shù)據(jù)可視化、主成分分析。
- 樣本選擇。
數(shù)據(jù)變換
標準化
離散化
- 離散化:消除連續(xù)觀察點之間的差異
- 語義轉(zhuǎn)換:將{非常好,好,一般,差,非常差}–>{1,2,3,4,5}
數(shù)據(jù)統(tǒng)計
基本描述性統(tǒng)計
-
表示位置的統(tǒng)計量:算術(shù)平均值和中位數(shù)
-
表示數(shù)量散度的統(tǒng)計量:方差、極差、標準差
-
表示分布形態(tài)的統(tǒng)計量:偏度和峰度
分布描述性統(tǒng)計
數(shù)據(jù)可視化
柱狀圖和基本繪圖
% 數(shù)據(jù)可視化——基本繪圖
% 《MATLAB數(shù)學建模方法與實踐》(《MATLAB在數(shù)學建模中的應用》升級版),北航出版社,卓金武、王鴻鈞編著.
% 讀取數(shù)據(jù)
clc, clear al, close all
X=xlsread('dataTableA2.xlsx');
% 繪制變量dv1的基本分布
N=size(X,1);
id=1:N;
figure
plot( id', X(:,2),'LineWidth',1)
set(gca,'linewidth',2);
xlabel('編號','fontsize',12);
ylabel('dv1', 'fontsize',12);
title('變量dv1分布圖','fontsize',12);
% 同時繪制變量dv1-dv4的柱狀分布圖
figure
subplot(2,2,1);
hist(X(:,2));
title('dv1柱狀分布圖','fontsize',12)
subplot(2,2,2);
hist(X(:,3));
title('dv2柱狀分布圖','fontsize',12)
subplot(2,2,3);
hist(X(:,4));
title('dv3柱狀分布圖','fontsize',12)
subplot(2,2,4);
hist(X(:,5));
title('dv4柱狀分布圖','fontsize',12)
hist(x) 基于向量 x 中的元素創(chuàng)建直方圖條形圖。x 中的元素有序劃分入 x 軸上介于 x 的最小值和最大值間的 10 個等間距 bin 中。hist 將 bin 顯示為矩形,這樣每個矩形的高度就表示 bin 中的元素數(shù)量。
標記常用度量值
% 數(shù)據(jù)可視化——數(shù)據(jù)分布形狀圖
% 《MATLAB數(shù)學建模方法與實踐》(《MATLAB在數(shù)學建模中的應用》升級版),北航出版社,卓金武、王鴻鈞編著.
% 讀取數(shù)據(jù)
clc, clear al, close all
X=xlsread('dataTableA2.xlsx');
dv1=X(:,2);
% 繪制變量dv1的柱狀分布圖
h = -5:0.5:5;
n = hist(dv1,h);
figure
bar(h, n)
% 計算常用的形狀度量指標
mn = mean(dv1); % 均值
sdev = std(dv1); % 標準差
mdsprd = iqr(dv1); % 四分位數(shù)
mnad = mad(dv1); % 中位數(shù)
rng = range(dv1); % 極差
% 標識度量數(shù)值
%四分位數(shù)值
x = round(quantile(dv1,[0.25,0.5,0.75]));%quantile函數(shù)中dv1是矩陣或者向量,[0.25,0.5,0.75]是百分比
y = (n(h==x(1)) + n(h==x(3)))/2;
line(x,[y,y,y],'marker','x','color','r')%line(x,y) 使用向量 x 和 y 中的數(shù)據(jù)在當前坐標區(qū)中繪制線條。如果 x 和 y 中有一個是矩陣或兩者都是矩陣,則 line 將繪制多個線條。與 plot 函數(shù)不同,line 會向當前坐標區(qū)添加線條,而不刪除其他圖形對象或重置坐標區(qū)屬性。
%標準差
x = round(mn + sdev*[-1,0,1]);
y = (n(h==x(1)) + n(h==x(3)))/2;
line(x,[y,y,y],'marker','o','color',[0 0.5 0])
%中位數(shù)
x = round(mn + mnad*[-1,0,1]);
y = (n(h==x(1)) + n(h==x(3)))/2;
line(x,[y,y,y],'marker','*','color',[0.75 0 0.75])
%最大最小值
x = round([min(dv1),max(dv1)]);
line(x,[1,1],'marker','.','color',[0 0.75 0.75])
legend('Data','Midspread','Std Dev','Mean Abs Dev','Range')
數(shù)據(jù)關(guān)聯(lián)可視化
% 數(shù)據(jù)可視化——變量想相關(guān)性
% 《MATLAB數(shù)學建模方法與實踐》(《MATLAB在數(shù)學建模中的應用》升級版),北航出版社,卓金武、王鴻鈞編著.
% 讀取數(shù)據(jù)
clc, clear al, close all
X=xlsread('dataTableA2.xlsx');
Vars = X(:,7:12);
% 繪制變量間相關(guān)性關(guān)聯(lián)圖
figure
plotmatrix(Vars)
%plotmatrix(X,Y) 創(chuàng)建一個子坐標區(qū)矩陣,包含了由 X 的各列相對 Y 的各列數(shù)據(jù)組成的散點圖。
%plotmatrix(X) 與 plotmatrix(X,X) 相同。例如,用 histogram(X(:,i)) 替換了第 i 列中對角線上的子坐標區(qū)
% 繪制變量間相關(guān)性強度圖
covmat = corrcoef(Vars);
%R = corrcoef(A) 返回 A 的相關(guān)系數(shù)的矩陣,其中 A 的列表示隨機變量,行表示觀測值。
figure
imagesc(covmat);
grid;
colorbar;
相關(guān)系數(shù)舉例:
數(shù)據(jù)分組可視化
% 數(shù)據(jù)可視化——數(shù)據(jù)分組
% 《MATLAB數(shù)學建模方法與實踐》(《MATLAB在數(shù)學建模中的應用》升級版),北航出版社,卓金武、王鴻鈞編著.
% 讀取數(shù)據(jù)
clc, clear al, close all
X=xlsread('dataTableA2.xlsx');
dv1=X(:,2);
eva=X(:,12);
% Boxplot
figure
boxplot(X(:,2:12))
figure
boxplot(dv1, eva)
figure
boxplot(X(:,5))
%boxplot(x) 創(chuàng)建 x 中數(shù)據(jù)的箱線圖。如果 x 是向量,boxplot 繪制一個箱子。如果 x 是矩陣,boxplot 為 x 的每列繪制一個箱子。在每個箱子上,中心標記表示中位數(shù),箱子的底邊和頂邊分別表示第 25 個和 75 個百分位數(shù)。須線會延伸到不是離群值的最遠端數(shù)據(jù)點,離群值會以 '+' 符號單獨繪制。
數(shù)據(jù)降維
主成分分析(PCA)
數(shù)學建模常用算法之主成分分析文章來源:http://www.zghlxwxcb.cn/news/detail-511367.html
相關(guān)系數(shù)降維
文章來源地址http://www.zghlxwxcb.cn/news/detail-511367.html
到了這里,關(guān)于數(shù)學建模-數(shù)據(jù)的處理的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!