Analisis de cluster aplicado a datos acústicos

http://www.ingenieriaacustica.cl
Download PDF

En ingeniería acústica, como en otras disciplinas, también surge la necesidad de identificar regularidades en representaciones gráficas del espacio matemático definido por los datos acústicos o físicos en general, que pueden corresponder por ejemplo, a registros de nivel de presión sonora, fuerza de blanco, backscattering cross section, valores de amplitud de las componentes armónicas del espectro de audio, posición gps en el espacio, tiempo o cualquier otra transformación de las variables, obtenida luego de aplicar una reducción de dimensionalidad mediante análisis de componentes principales. Es por ello que resulta apropiado el considerar técnicas como el análisis de cluster para estudiar el comportamiento de la data acústica.

¿Que es el análisis de cluster?

El análisis de cluster, también conocido análisis de conglomerados, análisis de grupos o análisis de agrupamientos, es una técnica estadística de análisis de datos multivariados que tiene por objetivo agrupar elementos considerando obtener la máxima homogeneidad en cada grupo y la mayor diferencia entre los grupos.

Comparto aquí un script para realizar una analisis de cluster de datos acusticos con matlab, que ademas de exporta los datos a una planilla excel con la clasificación de los datos.

<br>
%% APLICACION DE METODO DE ANALISIS DE CLUSTER A DATOS ACUSTICOS<br>
clear<br>
! taskkill /F /IM excel.exe<br>
clc<br>
close all</p>
<p>DATA_ALEATORIA      = 1;<br>
GRAFICANDO          = 1;<br>
ANALISIS_DE_CLUSTER = 1;<br>
GUARDAR_EXCEL       = 0;<br>
TEXTO               = 0;</p>
<p>n  =  100;    % numero_de datos por cluster<br>
nc =   5;     % numero_de_cluster </p>
<p>%% DATA ALEATORIA<br>
if (DATA_ALEATORIA == 1)</p>
<p>a = [[1:1:n]'+25               round(5*randn(n,1)+30)];<br>
b = [round(2*randn(n,1)+55 )   round(10*randn(n,1)-15 )];<br>
c = [round(2*randn(n,1)-35 )   round(10*randn(n,1)+5  )];<br>
d = [round(4*randn(n,1)-5  )   round(5*randn(n,1)-35  )];<br>
e = [round(10*randn(n,1)+10)   round(10*randn(n,1)    )];<br>
all_data = [a;b;c;d;e];<br>
[pad qad] = size(all_data);<br>
end</p>
<p>serie_s1    = [1:1:5];<br>
serie_s2 = repmat(serie_s1,n,1);<br>
serie_s3 = reshape(serie_s2,n*5,1);</p>
<p>%% GRAFICANDO<br>
if (GRAFICANDO == 1)<br>
[pad qad] = size(all_data);</p>
<p>figure()<br>
plot(a(:,1),a(:,2),'b.');hold on<br>
plot(b(:,1),b(:,2),'r.');hold on<br>
plot(c(:,1),c(:,2),'g.');hold on<br>
plot(d(:,1),d(:,2),'k.');hold on<br>
plot(e(:,1),e(:,2),'c.');hold on<br>
title('Análisis de Cluster de datos acústicos')<br>
end</p>
<p>%% ANALISIS DE CLUSTER<br>
if (ANALISIS_DE_CLUSTER == 1)<br>
IDX = kmeans(all_data,nc);<br>
pause(1)</p>
<p>if (TEXTO == 1)<br>
for k=1:pad<br>
    text(all_data(k,1),all_data(k,2),num2str(IDX(k)));<br>
    hold on<br>
end<br>
end<br>
end</p>
<p>%% MOSTRANDO LA TABLA DE DATOS EN PANTALLA<br>
varNames = {'ID','x','y','etiqueta_inicial','etiqueta_asignada'};<br>
T = table([1:1:pad]',all_data(:,1),all_data(:,2),serie_s3,IDX,'VariableNames',varNames);<br>
disp(T)</p>
<p>%% EXPORTANDO DATOS A EXCEL<br>
if (GUARDAR_EXCEL == 1)<br>
% Para exportar la data hay que construir previamente un pack de datos tipo<br>
% cell y se contruye LINEA POR LINEA</p>
<p>para_excel = {1,1,1,1,1};<br>
for k=1:pad<br>
dd = {[1:1:pad]',all_data(k,1),all_data(k,2),serie_s3(k,1),IDX(k,1)}; % si funciona<br>
para_excel = [para_excel ;dd];<br>
end</p>
<p>para_excel(1,:) = varNames;</p>
<p>xlswrite('testdata2.xls', para_excel, 1, 'E1')</p>
<p>winopen('testdata2.xls')<br>
end</p>
<p>return</p>
<p>

Referencias bibliográficas para análisis de cluster y análisis de componentes principales:

  1. https://www.uv.es/ceaces/multivari/cluster/CLUSTER2.htm
  2. http://www.estadistica.net/Master-Econometria/Analisis_Cluster.pdf
  3. http://www.ugr.es/~mvargas/2.RESUMENANLISISCLUSTER.pdf
  4. http://wpd.ugr.es/~bioestad/guia-spss/practica-8/
  5. http://www.ub.edu/stat/personal/cuadras/metodos.pdf
  6. http://www.ub.edu/stat/personal/cuadras/nuevosmetodos.pdf
  7. https://es.wikipedia.org/wiki/An%C3%A1lisis_de_grupos
  8. https://es.wikipedia.org/wiki/Estad%C3%ADstica_multivariante
  9. https://es.wikipedia.org/wiki/Algoritmo_de_agrupamiento

 

The following two tabs change content below.

LEONARDO PARADA VALENCIA

INGENIERO ACÚSTICO - especialista en Ciencia de datos Estudiante Magister en Gestión Ambiental Desarrollador de contenidos multimedia en www.ingenieriaacustica.cl EXPERTO EN RUIDO AMBIENTAL/OCUPACIONAL - PROTOCOLOS AMBIENTALES APLICADOS EN CHILE: DS38/11 Y PREXOR. EXPERTO EN DISEÑO SONORO Y MÚSICA PARA VIDEOJUEGOS

Latest posts by LEONARDO PARADA VALENCIA (see all)