I am a newbie to SOMs and am using the Matlab SOM package to examine sea level pressure over time. My 2D input array is (row x column): pressure (function of latitude and longitude) x time. When training is complete, and I plot the SOM weight positions, I get the following:
Is this correct? All of the weight position plots that I see are not so 1:1, so my plot appears strange.
Here is my code (note: code will not execute, just for conceptual purposes)
slp = somedata; % dim: 30200 x 1550 [pressure x time]
% Calculate mean for each location over time
mean_slp = nanmean(slp,2);
% Calculate anomalies for each location over time
slp_anom = nan((i2-i1+1)*(j2-j1+1),nfiles);
for i = 1:time
slp_anom(:,i) = slp3(:,i) - mean_slp(i,1);
end
% Normalize data
[slp_anom2,PS] = mapminmax(slp_anom);
net = selforgmap([4 4]);
net.trainParam.epochs = 1000;
net = train(net,slp_anom2);
I appreciate any and all feedback. Thanks!