تحويل مجموعة بيانات مزدوجة رباعية الأبعاد للحصول على السلسلة الزمنية في نهاية المطاف

0

لدي مجموعة بيانات x أي 4D مزدوج ، وله أبعاد [3x16x3x300]. الأبعاد هي: الدولة والمناطق والوضع والوقت.

أريد تحويلها إلى سلسلة زمنية ، والتي يجب أن تكون فقط regions س time .

كيف سأتمكن من تحديد الأجزاء التي أحتاجها للحصول على السلسلة الزمنية؟ فكرت في إعادة التشكيل ، لكنني لست متأكدًا تمامًا من القيم التي يجب أن أعمل معها.

قال الشخص الذي أعمل معه إنها تحسب متوسط الأبعاد والأوضاع ، على الرغم من أنني لا أفهم تمامًا ما تعنيه أيضًا. ال regions س time يجب أن تكون المصفوفة 16 × 300 ، لأنني بعد ذلك سأحسب الاتصال الوظيفي ، الذي يجب أن يكون 16 × 16.

النصوص أدناه:

fileName = sprintf('BOLD-G01_branch1.h5');
%% path2data = 'output file'
path2data = 'C:/Users/Aiskya/Desktop/test/1009A/';
x = (squeeze(hdf5read(fullfile(path2data,fileName),'/x')));  
N=size(x,2); 
reshape(squeeze(x))     % --> This is the part that I'm confused of
TSsim = x;
TSsim = TSsim(11:end,:);

1 إجابة

0

للتغلب على الأبعاد التي تريد التخلص منها ، اتبع الوصفة التالية:

x = zeros(3,16,3,300); % fill in the actual data here
y = mean(x,1);    % average over dimension 1, output is 1x16x3x300
y = mean(y,3);    % average over dimension 3, output is 1x16x1x300
y = squeeze(y);   % remove dimensions of size 1, output is 16x300

الإخراج y يحتوي فقط على regions و time محاور. كل نقطة y(i,j) متوسط فوق الدول والأوضاع x(:,i,:,j) .

:مؤلف
فوق
قائمة طعام