Multidimensional distributions visualisation and analysis.

버전 1.3.0.0 (10.7 KB) 작성자: Mark Matusevich
Matrix of planar projections of multidimensional distributions with tools for interactive analysis.
다운로드 수: 738
업데이트 날짜: 2014/11/25

라이선스 보기

Simultaneously visualises multiple multidimensional distributions as a matrix of planar projections and provides means for further interactive analysis of them. Supports large data set (tested with 2 million 4D data points). plot_feature_matrix is an essential tool for statistical modelling and classification algorithms development.
Given N-dimensional data points, plot_feature_matrix constructs NxN matrix of axes, and plots the projections of the data points onto the planes corresponding to the respective coordinates. The diagonal axes show histograms of the data points. Additional vector of class IDs for each of the data points can be provided, in which case each class is shown with a separate color and each diagonal axis includes histogram for each of the classes.
Mouse click inside a non-diagonal axis shows information about the points in the vicinity of the click. By default, the amount of points from each of the class is shown. However, if a custom visualisation function is provided, then more detailed analysis of the data points in the vicinity of the click is possible.
For example, let's assume that you are conducting a study, which aim is to estimate the probability of myocardial infarction based on four metrics:
- duration of atrial fibrillation during 24 hour ambulatory ECG recording (stored in vector 'holter').
- peak ischemic ST depression during cardiac stress test (stored in vector 'ST').
- mean arterial pressure from 24 hour ambulatory blood pressure recording (stored in vector 'MAP').
- duration of the depolarization wave of the ventricles measured in resting ECG recording (stored in vector QRS).
Also, boolean vector 'MI' has value 'true' for those patients which experience myocardial infarction during 5 years since the above tests. Use the following commands to initialize the variables:
>> N = 1e4;
>> t1 = randn(1,N); t2 = randn(1,N);
>> holter = [t1 2+t2];
>> ST = [t1+t2 2+t1*2-t2];
>> MAP = [t1.^2+t2 -t1-t2.^2];
>> QRS = [t1./(1+t2.^2) 1+(t1.^2+t2.^2)./(1+(t1-t2).^2+t2.^2)];
>> MI = [false(1,N), true(1,N)];
>> Z = [holter; ST; MAP; QRS];
>> csFeatures = {'holter','ST','MAP', 'QRS'};
>> vClass = 1+MI;
>> csClasses = {'Healthy', 'MI'};

Show the feature matrix with default investigation tool (just reports number of cases in the vicinity):
>> plot_feature_matrix(Z, vClass, csFeatures, csClasses)

Only the first parameter is mandatory, every other one can be omitted or replaced with the empty matrix:
>> plot_feature_matrix(Z)

Use custom visualisation function to show all selected cases in one plot:
>> t1_ = [t1 t1]; t2_ = [t2 t2];
>> plot_feature_matrix(Z, vClass, csFeatures, csClasses, @(~,~,isSel) scatter(t1_(isSel),t2_(isSel)) )

Use custom visualisation function which can show only one case at a time (press <space> to see next uniformly sampled example):
>> show_1_func = @(isSel,ii) cylinder(abs(Z(:,find(cumsum(isSel)==ii,1))));
>> show_set_func = @(~,~,isSel) show_uniformly_sampled(sum(isSel), @(ii) show_1_func(isSel,ii));
>> plot_feature_matrix(Z, vClass, csFeatures, csClasses, show_set_func)

Use the output parameter to get axis handles of the matrix (can be used to overlay additional plots):
>> hAxis = plot_feature_matrix(...);

For additional explanations type: help plot_feature_matrix

This submission is courtesy of Norav Medical (www.norav.com) - the leading company in the fields of PC-ECG, EKG Management systems and related non-invasive cardiac devices.

인용 양식

Mark Matusevich (2024). Multidimensional distributions visualisation and analysis. (https://www.mathworks.com/matlabcentral/fileexchange/45740-multidimensional-distributions-visualisation-and-analysis), MATLAB Central File Exchange. 검색됨 .

MATLAB 릴리스 호환 정보
개발 환경: R2009b
모든 릴리스와 호환
플랫폼 호환성
Windows macOS Linux
카테고리
Help CenterMATLAB Answers에서 Map Display에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
버전 게시됨 릴리스 정보
1.3.0.0

Attempt number 2 to remove "Remote Control Toolbox" from the description.

1.2.0.0

Last update somehow added "Robust Control Toolbox" to the list of required products, this update removes it from the list

1.1.0.0

Bug fix in dependents_plot; change behavior of map2bins, when mode=='center' or vBins is a number; and, better range selection for histograms of plot_1feature_2class.
More details can be found in the update notes of files N. 45481 and 45580.

1.0.0.0