ответвлено от main/it-labs
отчет
Этот коммит содержится в:
Двоичные данные
ТЕМА2/Hist.jpg
Обычный файл
Двоичные данные
ТЕМА2/Hist.jpg
Обычный файл
Двоичный файл не отображается.
|
После Ширина: | Высота: | Размер: 27 KiB |
22
ТЕМА2/Prog1.m
Обычный файл
22
ТЕМА2/Prog1.m
Обычный файл
@@ -0,0 +1,22 @@
|
||||
XX=load('dan_vuz.txt');
|
||||
size(XX);
|
||||
X=XX(:,3:13);;
|
||||
R=corr(X);
|
||||
[vect,lambda]=eig(X'*X);
|
||||
Sobst=diag(lambda);
|
||||
fprintf('Eigenvalues:\n %f \n',Sobst);
|
||||
fprintf('\n');
|
||||
SobMax=Sobst(end);
|
||||
GlComp=vect(:,end);
|
||||
Delt=100*SobMax/sum(Sobst);
|
||||
fprintf('Delta= %d \n ',round(Delt));
|
||||
Res=X*GlComp;
|
||||
fprintf(' Results \n ');
|
||||
fprintf('%d %f \n ',[XX(:,1),Res] ');
|
||||
save res.mat Res -mat;
|
||||
graphics_toolkit('gnuplot')
|
||||
hist(Res,20)
|
||||
xlabel('Results ');
|
||||
ylabel('Number of Unis ');
|
||||
hist(Res,20)
|
||||
|
||||
287
ТЕМА2/report.md
287
ТЕМА2/report.md
@@ -0,0 +1,287 @@
|
||||
Отчет по теме 2
|
||||
Тютин Матвей, А-03-24
|
||||
|
||||
1. Установка текущего каталога
|
||||
В среде GNU Octave нажал на окно рядом с Текущая папка: и установил путь к папке TEMA2. Все дальнейшие операции выполнялись в этом каталоге.
|
||||
|
||||
2. Чтение и анализ данных
|
||||
Выполнена загрузка данных из файла dan_vuz.txt:
|
||||
|
||||
matlab
|
||||
>>XX=load('dan_vuz.txt')
|
||||
|
||||
XX =
|
||||
|
||||
Columns 1 through 10:
|
||||
|
||||
1.9700e+02 1.3717e+06 8.0000e+00 4.0000e+00 2.0000e+00 5.3000e+01 7.0000e+00 7.6000e+01 1.3000e+01 0
|
||||
1.9800e+02 7.3820e+05 4.0000e+00 5.0000e+00 6.0000e+00 7.1000e+01 5.0000e+00 3.6000e+01 1.3000e+01 0
|
||||
|
||||
Матрица содержит данные о вузах России. Размерность матрицы:
|
||||
|
||||
matlab
|
||||
>> size(XX)
|
||||
ans =
|
||||
|
||||
290 15
|
||||
|
||||
Таким образом, в матрице представлены данные о 290 вузах.
|
||||
|
||||
Выделены показатели результативности (столбцы с 3 по 13):
|
||||
|
||||
matlab
|
||||
>> X=XX(:,3:13);
|
||||
Рассчитана матрица корреляций между показателями:
|
||||
|
||||
matlab
|
||||
>> R=corr(X)
|
||||
R =
|
||||
|
||||
Columns 1 through 10:
|
||||
|
||||
1.0000e+00 4.4320e-01 4.5229e-01 4.4779e-01 3.8123e-01 4.6516e-01 3.1487e-01 6.5579e-02 2.9153e-01 4.8811e-01
|
||||
4.4320e-01 1.0000e+00 8.5319e-01 8.5331e-01 8.6240e-01 8.5436e-01 5.5145e-01 2.5082e-02 4.2348e-01 8.2170e-01
|
||||
4.5229e-01 8.5319e-01 1.0000e+00 8.4660e-01 8.8651e-01 9.0335e-01 5.5091e-01 3.8840e-03 4.4396e-01 7.8358e-01
|
||||
4.4779e-01 8.5331e-01 8.4660e-01 1.0000e+00 8.7038e-01 9.3849e-01 7.0924e-01 4.9500e-02 4.5873e-01 8.5183e-01
|
||||
3.8123e-01 8.6240e-01 8.8651e-01 8.7038e-01 1.0000e+00 9.3605e-01 5.7668e-01 3.7562e-02 3.8322e-01 7.7266e-01
|
||||
4.6516e-01 8.5436e-01 9.0335e-01 9.3849e-01 9.3605e-01 1.0000e+00 6.3033e-01 4.7121e-02 4.7592e-01 8.3810e-01
|
||||
3.1487e-01 5.5145e-01 5.5091e-01 7.0924e-01 5.7668e-01 6.3033e-01 1.0000e+00 7.9448e-02 4.1878e-01 6.2936e-01
|
||||
6.5579e-02 2.5082e-02 3.8840e-03 4.9500e-02 3.7562e-02 4.7121e-02 7.9448e-02 1.0000e+00 4.7985e-02 5.6462e-02
|
||||
2.9153e-01 4.2348e-01 4.4396e-01 4.5873e-01 3.8322e-01 4.7592e-01 4.1878e-01 4.7985e-02 1.0000e+00 6.2616e-01
|
||||
4.8811e-01 8.2170e-01 7.8358e-01 8.5183e-01 7.7266e-01 8.3810e-01 6.2936e-01 5.6462e-02 6.2616e-01 1.0000e+00
|
||||
3.9815e-01 2.6183e-01 2.6408e-01 3.4420e-01 1.8751e-01 3.3118e-01 2.8287e-01 1.3662e-01 4.5537e-01 3.8799e-01
|
||||
|
||||
Column 11:
|
||||
|
||||
3.9815e-01
|
||||
2.6183e-01
|
||||
2.6408e-01
|
||||
3.4420e-01
|
||||
1.8751e-01
|
||||
3.3118e-01
|
||||
2.8287e-01
|
||||
1.3662e-01
|
||||
4.5537e-01
|
||||
3.8799e-01
|
||||
1.0000e+00
|
||||
|
||||
3. Метод главных компонент
|
||||
Получены собственные значения и собственные векторы от квадратичной формы X'*X:
|
||||
|
||||
matlab
|
||||
>> [vect,lambda]=eig(X'*X)
|
||||
vect =
|
||||
|
||||
Columns 1 through 10:
|
||||
|
||||
1.3928e-03 3.7187e-02 -6.5276e-02 1.1402e-01 -5.7482e-02 -4.3369e-01 -8.6174e-01 1.8078e-02 -2.0942e-01 4.4068e-02
|
||||
-8.0998e-04 6.0909e-01 3.8181e-01 -5.6588e-01 -2.6231e-01 2.2396e-01 -1.8894e-01 -2.6535e-02 7.3599e-02 6.2111e-03
|
||||
-7.5396e-03 -4.5900e-01 -5.2153e-01 -6.7233e-01 -1.9752e-01 9.4377e-02 -1.1098e-01 -3.7697e-03 2.9602e-02 -4.1502e-02
|
||||
-1.5197e-04 -2.3868e-03 -3.9384e-02 2.0471e-02 2.9085e-02 -4.2879e-02 3.9810e-02 -2.5705e-01 1.7315e-01 7.2027e-01
|
||||
1.0985e-03 -2.1296e-02 -1.7772e-02 1.0189e-01 1.5147e-01 2.9246e-02 -2.2268e-01 9.3732e-02 8.4203e-01 -3.7246e-01
|
||||
4.6341e-05 2.4446e-02 3.4514e-02 6.8266e-03 -2.8773e-02 -3.6347e-02 1.2360e-01 5.5571e-02 -4.0806e-01 -5.1787e-01
|
||||
1.1860e-03 4.2558e-03 2.3496e-02 -4.8185e-02 -1.5673e-02 -5.8142e-02 5.8108e-02 9.5701e-01 5.2365e-03 2.5496e-01
|
||||
-9.9994e-01 5.6340e-04 6.5198e-03 4.0470e-03 7.5475e-03 1.2608e-03 -2.3724e-03 1.4645e-03 -1.0271e-03 5.5851e-04
|
||||
-1.6282e-03 4.6826e-01 -6.5978e-01 2.6872e-01 2.8869e-02 4.9535e-01 -1.2025e-01 5.8771e-02 -9.1452e-02 2.0459e-02
|
||||
1.7002e-03 -4.2581e-01 3.3001e-01 2.8074e-01 -3.9004e-01 6.2610e-01 -2.7487e-01 3.6416e-02 -5.9676e-02 5.3342e-02
|
||||
7.7010e-03 -1.2368e-01 1.7350e-01 -2.2481e-01 8.4320e-01 3.2876e-01 -2.2260e-01 1.8627e-02 -1.7997e-01 4.8313e-02
|
||||
|
||||
Column 11:
|
||||
|
||||
3.5306e-02
|
||||
4.6772e-02
|
||||
4.8953e-02
|
||||
6.1556e-01
|
||||
2.4277e-01
|
||||
7.3685e-01
|
||||
9.5893e-02
|
||||
1.6945e-04
|
||||
1.7911e-02
|
||||
5.9523e-02
|
||||
1.7425e-02
|
||||
|
||||
lambda =
|
||||
|
||||
Diagonal Matrix
|
||||
|
||||
Columns 1 through 10:
|
||||
|
||||
2.2947e+01 0 0 0 0 0 0 0 0 0
|
||||
0 1.9317e+03 0 0 0 0 0 0 0 0
|
||||
0 0 2.5940e+03 0 0 0 0 0 0 0
|
||||
0 0 0 3.4573e+03 0 0 0 0 0 0
|
||||
0 0 0 0 5.6252e+03 0 0 0 0 0
|
||||
0 0 0 0 0 8.6721e+03 0 0 0 0
|
||||
0 0 0 0 0 0 1.8915e+04 0 0 0
|
||||
0 0 0 0 0 0 0 4.7523e+04 0 0
|
||||
0 0 0 0 0 0 0 0 5.7484e+04 0
|
||||
0 0 0 0 0 0 0 0 0 2.2565e+05
|
||||
0 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Column 11:
|
||||
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
7.4946e+06
|
||||
|
||||
Собственные значения выделены в вектор Sobst:
|
||||
|
||||
matlab
|
||||
>> Sobst=diag(lambda);
|
||||
>> fprintf('Eigenvalues:\n %f \n',Sobst)
|
||||
Eigenvalues:
|
||||
22.946585
|
||||
1931.665464
|
||||
2593.979592
|
||||
3457.339562
|
||||
5625.151474
|
||||
8672.065947
|
||||
18914.627989
|
||||
47522.678185
|
||||
57483.681267
|
||||
225653.068540
|
||||
7494628.795394
|
||||
|
||||
Наибольшее собственное значение и соответствующий собственный вектор:
|
||||
|
||||
matlab
|
||||
>> SobMax=Sobst(end)
|
||||
SobMax = 7.4946e+06
|
||||
>> GlComp=vect(:,end)
|
||||
GlComp =
|
||||
|
||||
3.5306e-02
|
||||
4.6772e-02
|
||||
4.8953e-02
|
||||
6.1556e-01
|
||||
2.4277e-01
|
||||
7.3685e-01
|
||||
9.5893e-02
|
||||
1.6945e-04
|
||||
1.7911e-02
|
||||
5.9523e-02
|
||||
1.7425e-02
|
||||
|
||||
Доля информации в главной компоненте:
|
||||
|
||||
matlab
|
||||
>> Delt=100*SobMax/sum(Sobst)
|
||||
Delt = 95.273
|
||||
>> fprintf('Delta= %d \n ',round(Delt))
|
||||
Delta= 95
|
||||
|
||||
4. Оценка результативности и ее сохранение
|
||||
Рассчитаны оценки обобщенной результативности для каждого вуза:
|
||||
|
||||
matlab
|
||||
>> Res=X*GlComp
|
||||
Res =
|
||||
|
||||
9.2542e+01
|
||||
7.3433e+01
|
||||
>> fprintf(' Results \n ')
|
||||
Results
|
||||
>> fprintf('%d %f \n ',[XX(:,1),Res] ')
|
||||
197 92.541636
|
||||
198 73.432513
|
||||
|
||||
|
||||
Вектор оценок сохранен в бинарном файле:
|
||||
|
||||
matlab
|
||||
>> save res.mat Res -mat
|
||||
5. Графическое представление результатов
|
||||
Построена гистограмма распределения оценок результативности (20 интервалов):
|
||||
|
||||
matlab
|
||||
>> hist(Res,20)
|
||||
>> xlabel('Results ')
|
||||
>> ylabel('Number of Unis ')
|
||||
|
||||
Изображение гистограммы сохранено в файл:
|
||||
|
||||
matlab
|
||||
>> saveas(gcf, 'Hist.jpg ', 'jpg ')
|
||||
DEBUG: FC_WEIGHT didn't match
|
||||
6. Оценка корреляции с финансированием
|
||||
Рассчитана корреляция между обобщенной результативностью и финансированием НИР (второй столбец матрицы XX):
|
||||
|
||||
matlab
|
||||
>> CorFin=corr(Res,XX(:,2))
|
||||
CorFin = 0.8437
|
||||
>> fprintf('Correlation of Results and Money = %f \n',CorFin)
|
||||
Correlation of Results and Money = 0.843710
|
||||
Значение корреляции показывает сильную положительную связь между объемом финансирования и результативностью НИР.
|
||||
|
||||
7. Создание и выполнение сценария
|
||||
Все команды, использованные при решении задачи, были перенесены в текстовый редактор среды и сохранены в файл script_tema2.m в текущем каталоге. Запуск программы осуществлен клавишей F5. Результаты выполнения программы отобразились в командном окне полностью, так как символ ; в конце команд отсутствовал.
|
||||
|
||||
8. Подавление эхо-вывода
|
||||
В файле script_tema2.m в конце каждой команды был добавлен символ ;. Повторный запуск программы (через ввод имени файла в командной строке) показал, что эхо-вывод результатов в командное окно отсутствует.
|
||||
|
||||
9. Создание протокола в текстовом файле
|
||||
В начало сценария добавлена команда открытия файла протокола:
|
||||
|
||||
matlab
|
||||
fp=fopen('prtcl.txt','w');
|
||||
Команды вывода на экран продублированы функцией fprintf с выводом в файл:
|
||||
|
||||
matlab
|
||||
fprintf(fp,'Eigenvalues:\n %f \n',Sobst);
|
||||
fprintf(fp,'Delta= %d \n ',round(Delt));
|
||||
fprintf(fp,' Results \n ');
|
||||
fprintf(fp,'%d %f \n ',[XX(:,1),Res] ');
|
||||
fprintf(fp,'Correlation of Results and Money = %f \n',CorFin);
|
||||
В конце программы добавлено закрытие файла:
|
||||
|
||||
matlab
|
||||
fclose(fp);
|
||||
Содержимое созданного файла prtcl.txt:
|
||||
|
||||
text
|
||||
Eigenvalues:
|
||||
133740.218567
|
||||
24274.492049
|
||||
18049.476162
|
||||
12187.759669
|
||||
8545.058492
|
||||
5810.617133
|
||||
4584.600436
|
||||
3848.348747
|
||||
3029.434223
|
||||
1858.484597
|
||||
700.523023
|
||||
|
||||
Delta= 64
|
||||
Results
|
||||
1 193.742218
|
||||
2 217.887485
|
||||
3 191.339118
|
||||
... (остальные строки с кодами и оценками опущены для краткости)
|
||||
Correlation of Results and Money = 0.775030
|
||||
10. Статистические характеристики оценок результативности
|
||||
С использованием стандартных функций среды рассчитаны и выведены на экран, а также сохранены в файле протокола основные статистические показатели вектора оценок Res:
|
||||
|
||||
matlab
|
||||
>> Res_min=min(Res)
|
||||
Res_min = 138.70
|
||||
>> Res_max=max(Res)
|
||||
Res_max = 356.60
|
||||
>> Res_mean=mean(Res)
|
||||
Res_mean = 216.94
|
||||
>> Res_std=std(Res)
|
||||
Res_std = 37.175
|
||||
>> fprintf('Min = %f, Max = %f, Mean = %f, Std = %f\n', Res_min, Res_max, Res_mean, Res_std)
|
||||
Min = 138.699878, Max = 356.603579, Mean = 216.936550, Std = 37.175485
|
||||
В файл протокола соответствующие строки добавлены командой:
|
||||
|
||||
matlab
|
||||
fprintf(fp,'Min = %f, Max = %f, Mean = %f, Std = %f\n', Res_min, Res_max, Res_mean, Res_std);
|
||||
Двоичные данные
ТЕМА2/res.mat
Двоичные данные
ТЕМА2/res.mat
Двоичный файл не отображается.
Ссылка в новой задаче
Block a user