Как добавить анализ значимости регрессии вне цикла на Matlab - PullRequest
0 голосов
/ 06 апреля 2019

Я делаю регрессионный анализ по каждой координате широты / долготы для изменения температуры в течение 30 лет.Я хочу получить статистику регрессии (значения р-значения или значимости t-критерия) о значимости изменения температуры во времени, но размеры должны быть такими же, как уклон (т. Е. 192x288).

I have tried for example:
whichstats = {'tstat','rsquare'};
stats = regstats(y_t2mirrm1,x,'linear',whichstats);
tstat = stats.tstat;
rsquare = stats.rsquare;

Но размеры - это либо 1 число, либо 1 развернутый вектор (из 1x13000).

Вот мой код линейной регрессии:


    % initialise time parameters
    time_begin  = [1981, 1, 1, 0,0,0];
    time_end    = [2010,12,31,23,0,0];
    years       = (time_begin(1):time_end(1))';
    nyears      = length(years);
    % create storage and regress
    TXx = randi(100, 288, 192, 30);
    lat = rand(192, 1);
    lon = rand(288, 1);
    time = rand(30,1);
    M = numel(lon);
    N = numel(lat);
    slope = zeros(M, N);
    intercept = zeros(M, N);
    T = numel(time);
    x = ([ones(T, 1) years]);
    % Regress each lat/lon location
    for i = 1 : M
        for j = 1 : N
            % Get all time instances of each lat/lon location
            y = squeeze(TXx(i, j, :));
            % Create regression problem and solve
            c = regress(y, x);
            intercept(i, j) = c(1);
            slope(i, j) = c(2);      
        end
    end

Ожидаемые результаты должны быть pvalue для каждого склона (размеры - 192x288 или 288x192).

...