%% РпупфйкпрпЯзуз ЧщсйкЮт УхнЬцейбт уе УзмейбкЬ ДедпмЭнб
% *ЦбЯдщн КхсйбкЯдзт*
%
% ФмЮмб ГещгсбцЯбт РбнерйуфзмЯпх БйгбЯпх

%% ЕйубгщгЮ дедпмЭнщн уе узмеЯб кбй рлзспцпсЯет
load BayAreaData.mat
who

%% РспкбфбскфйкЬ
Data = bayprecip
% 1з уфЮлз -> бэопнфбт бсйимьт вспчпмефсйкпэ уфбимпэ
% 2з уфЮлз -> гещгсбцйкь мЮкпт уфбимпэ
% 3з уфЮлз -> гещгсбцйкь рлЬфпт уфбимпэ
% 4з уфЮлз -> вспчьрфщуз уе mm
% 5з уфЮлз -> вспчьрфщуз (уе mm) рпх кбфбгсЬцзке брь Энб Ьллп ьсгбнп
nDat = size(bayprecip,1);
idStation = num2str(Data(:,1));
% ухмвплпуейсЬ ме фпн бэопнфб бсйимь фпх кЬие уфбимпэ
plotPars = {'color', 'vbar'}; 
% color -> Эгчсщмз брейкьнйуз, vbar -> ме кЬиефп хрьмнзмб чсюмбфпт

%% Брейкьнйуз
bulletSize = 20;
colorLims = [1 15]; % чсщмбфйкЬ ьсйб
scattermap(bayprecip,[2 3],bulletSize,4,'cont',colorLims,plotPars);
% [2 3] -> уфЮлет ме ухнфефбгмЭнет уфбимюн
% 4 -> уфЮлз ме мефсЮуейт уфбимюн
title('Bay Area precipitation data set');
hold on
plot(baycoast(:,1),baycoast(:,2),'k-');
hold off

%% НЭцпт змйвбсйпгсЬммбфпт
help spassociationcloud
varioCloud = spassociationcloud(bayprecip,[2 3],4,'variogram','plot');
% [2 3] -> уфЮлет ме ухнфефбгмЭнет узмеЯщн
% 4     -> уфЮлз ме фймЭт фзт хрп мелЭфз мефбвлзфЮт
%title('Squared semi-differences cloud');
varioCloud

%% НЭцпт ухучефпгсЬммбфпт (correlogram)
corrCloud = spassociationcloud(bayprecip,[2 3],4,'correlogram','plot');
%title('Std. cross-products cloud');

%% ПмбдпрпЯзуз (вЬуей брьуфбузт) нЭцпхт змйвбсйпгсЬммбфпт
help binspassociationcloud
lagLow = (0.01:0.2:2)' % кбфюфесб ьсйб дйбуфзмЬфщн брьуфбузт
lagUpp = lagLow + 0.1 % бнюфесб ьсйб дйбуфзмЬфщн брьуфбузт
LagLims = [lagLow lagUpp]
% р.ч., 1п дйЬуфзмб [0.25-0.1250 0.25+0.1250]
Bvar = binspassociationcloud(varioCloud,LagLims,'medianpairs')
% medianpairs -> брейкьнйуз дйбмЭупх кбй фефбсфзмпсЯщн, кбиют кбй 
%                бсйимпэ жехгбсйюн уе кЬие дйЬуфзмб брьуфбузт
% ўллет ерйлпгЭт:
% noplot -> ьчй брейкьнйуз 
% plot   -> брлЮ брейкьнйуз
% pairs  -> брлЮ брейкьнйуз + бсйимь жехгбсйюн  
% median -> брлЮ брейкьнйуз + дйЬмеуп кбй фефбсфзмьсйб фефсбгщнйкюн 
%           змйдйбцпсюн уе кЬие дйЬуфзмб брьуфбузт

%% ПмбдпрпЯзуз (вЬуей брьуфбузт) нЭцпхт ухучефпгсЬммбфпт
Bcorr = binspassociationcloud(corrCloud,LagLims,'medianpairs')

%% h-scatter plots
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% ДеЯкфет гейфьнщн ме фзн енфплЮ coords2lagpairs
LagDistLimits = [0.1 0.2];
I = coords2lagpairs(bayprecip,[2 3],LagDistLimits)

%% ЧщсйкЮ брейкьнйуз гейфьнщн ме фзн енфплЮ maplagpairs
maplagpairs(bayprecip,I,'*');

%% Дйбурпсьгсбммб гейфпнйкюн мефсЮуещн
colTailHead = [4 4]; % брь рпйЭт уфЮлет учзмбфЯжпнфбй жеэгз мефсЮуещн
hscatterplot(bayprecip,I,colTailHead)

%% Дйбурпсьгсбммб гейфпнйкюн мефсЮуещн + уфбфйуфйкЬ
hscatterplot(bayprecip,I,colTailHead,'inertia')
% intertia = бдсЬнейб -> змйдйбкэмбнуз
% correlation = ухнфелеуфЮт ухучЭфйузт
hscatterplot(bayprecip,I,colTailHead,'correlation')

%% Дйбурпсьгсбммб гейфпнйкюн мефсЮуещн + йуфьгсбммб
%hscatterplot2hist(bayprecip,I,colTailHead,'inertia')
histPars = [30 0.7 0.7]; % [nBins xText yText]
hscatterplot2hist(bayprecip,I,colTailHead,'inertia',histPars)
%hscatterplot2hist(bayprecip,I,colTailHead,'correlation',histPars)

%% Змйвбсйьгсбммб (semivariogram) кбй ухучефьгсбммб (correlogram)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% Емрейсйкь змйвбсйьгсбммб ме фзн енфплЮ spassociation
help spassociation
LagMidTol = []; % бхфьмбфз ерйлпгЮ дйбуфзмЬфщн брьуфбузт
G = spassociation(bayprecip,[2 3],4,LagMidTol,'variogram')
%G.struct
%G.struct{1}
%lagMid = (0.25:0.25:2)'  % мЭуб дйбуфзмЬфщн брьуфбузт
%lagTol = (0.25/2)*ones(size(lagMid)) % бнпчЮ гэсщ брь мЭуп = 0.25/2 уфбиесЮ
%LagMidTol = [lagMid lagTol]

%% Брейкьнйуз змйвбсйпгсЬммбфпт ме фзн енфплЮ plotvariogram
help plotspassociation
plotspassociation(G)
dir2plot = []; % Брейкьнйуз ьлщн фщн вбсйпгсбммЬфщн
plotspassociation(G,[],'r*','pairs');

%% Емрейсйкь ухучефьгсбммб ме фзн енфплЮ points2variogram
C = spassociation(bayprecip,[2 3],4,LagMidTol,'correlogram')

%% Брейкьнйуз
plotspassociation(C);
%dir2plot = []; % Брейкьнйуз ьлщн фщн вбсйпгсбммЬфщн
%plotspassociation(C,[],'r*','pairs');