ИАД_Ибрагимова_Шакиров_РГР
.docxМинистерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего образования
«Уфимский государственный авиационный технический университет»
Кафедра вычислительной математики и кибернетики
Расчетно-графическая работа
Система интеллектуального анализа данных
«R»
по дисциплине: «Интеллектуальный анализ данных»
Выполнили:
студенты группы МО-417
Шакиров А.Р.
Ибрагимова К.Б.
Проверила:
Харисова Э. А.
Уфа 2021
Задания
Сгенерируйте вектор длины N=1000, элементами которого являются реализации нормально распределенной случайной величины с математическим ожиданием, равным 1, и стандартным отклонением, равным 0.3. Подсчитайте статистическое мат. ожидание и стандартную ошибку, не используя встроенные функции и проверьте правильность результата. Подсчитайте .95,.99-квантили. Исследуйте отклонение статистического мат. ожидания от 1 при росте N (N=1000,2000,4000,8000);
Создайте фрейм данных из N=20 записей со следующими полями:
Nrow — номер записи,
Name — имя пользователя,
BirthYear — год рождения,
EmployYear — год приема на работу,
Salary — зарплата,
где Nrow изменяется от 1 до N, Name задается произвольно, BirthYear распределен равномерно на отрезке [1960,1985], EmployYear распределен равномерно на отрезке [BirthYear+18,2006], Salary для работников младше 1975 г.р. определяется по формуле Salary=(ln(2007-EmployYear) +1) *8000, для остальных Salary=(log2(2007-EmployYear) +1) *8000. Подсчитайте число сотрудников с зарплатой, большей 15000. Добавьте в таблицу поле, соответствующее суммарному подоходному налогу (ставка 13%), выплаченному сотрудником за время работы в организации, если его зарплата за каждый код начислялась согласно формулам для Salary, где вместо 2007 следует последовательно подставить каждый год работы сотрудника в организации;
Напишите функцию, которая принимает на вход числовой вектор x и число разбиений интервала k (по умолчанию равное числу элементов вектора, разделенному на 10) и выполняет следующее: находит минимальное и максимальное значение элементов вектора xmin и xmax, разделяет полученный отрезок [xmin; xmax] на k равных интервалов и подсчитывает число элементов вектора, принадлежащих каждому интервалу. Далее должен строиться график, где по оси абсцисс — середины интервалов, по оси ординат — число элементов вектора, принадлежащих интервалу, разделенное на общее число точек. Проведите эксперимент на данной функции, где x — вектор длины 5000, сгенерированный из экспоненциально распределенной случайной величины, k=500. Приближение какого графика мы получаем в итоге при большом числе точек и числе разбиений?
Спроектируйте и реализуйте метод наименьших квадратов.
Задание 1
Сгенерируем вектор длины N=1000, элементами которого являются реализации нормально распределенной случайной величины с математическим ожиданием, равным 1, и стандартным отклонением, равным 0.3.
Рисунок 1 – вектор длины N=1000
Подсчитаем статистическое мат. ожидание и стандартную ошибку, не используя встроенные функции и проверим правильность результата.
Математическое ожидание — одно из важнейших понятий в теории вероятностей, означающее среднее (взвешенное по вероятностям возможных значений) значение случайной величины. Вычисляется по формуле:
Стандартная ошибка статистики (обычно оценка параметра) — это стандартное отклонение ее выборочного распределения или оценка этого стандартного отклонения. Вычисляется по формуле:
Создадим функцию для подсчёта математического ожидания дискретной случайной величины с именем mO.
Рисунок 2 – описание функции mO
Проверим правильность написанной функции mO стандартной функцией mean
Рисунок 3 – проверка на правильность функции mO
Значения, вычисляемые стандартной функцией mean и написанной функцией mO совпали, исходя из этого можно сделать вывод о правильности функции mO.
Создадим функцию для подсчёта статистического мат. ожидания с именем SE.
Рисунок 4 – описание функции se
Проверим правильность написанной функции se стандартной функцией sd
Рисунок 5 – проверка на правильность функции se
Значения, вычисляемые стандартной функцией sd и написанной функцией se совпали, исходя из этого можно сделать вывод о правильности функции se.
Подсчитаем .95,.99-квантили.
Квантиль — значение, которое заданная случайная величина не превышает с фиксированной вероятностью. Если вероятность задана в процентах, то квантиль называется процентилем или перцентилем.
Рисунок 6 – Подсчёт квантилей
Исследуем отклонение статистического мат. ожидания от 1 при росте N (N=1000,2000,4000,8000).
Создадим векторы с длиной N=1000,2000,4000,8000 и фрейм данных, состоящий из стандартных ошибок и статистических мат. ожиданий векторов, чтобы построить график отклонения статистического мат. ожидания от 1.
Рисунок 7 – Описание векторов и фрейма данных
Рисунок 8 – Структура фрейма данных
Рисунок 8 – График отклонения мат. ожидания от 1 при росте N
Задание 2
Создадим следующие поля для фрейма:
Nrow — номер записи,
Name — имя пользователя,
BirthYear — год рождения,
EmployYear — год приема на работу
Рисунок 9 – Создание полей Nrow, Name, BirthYear и EmployYear
где Nrow изменяется от 1 до N, Name задается произвольно, BirthYear распределен равномерно на отрезке [1960,1985], EmployYear распределен равномерно на отрезке [BirthYear+18,2006].
Создадим поле Salary — зарплата для фрейма:
Рисунок 10 – Создание поля Salary
где Salary для работников младше 1975 г.р. определяется по формуле Salary=(ln(2007-EmployYear) +1) *8000, для остальных Salary=(log2(2007-EmployYear) +1) *8000. Salary является значением зарплаты сотрудника за один год работы, а sSum за весь период работы сотрудника.
Создадим фрейм данных:
Рисунок 11 – Создание фрейма данных
Рисунок 12 – Фрейм данных
Подсчитаем число сотрудников с зарплатой, большей 15000.
Рисунок 13 – Создание функции sumMore15 для подсчета сотрудников с ЗП больше 15000
Рисунок 14– Результат выполнения функции sumMore15
Добавим в таблицу поле, соответствующее суммарному подоходному налогу (ставка 13%), выплаченному сотрудником за время работы в организации, если его зарплата за каждый код начислялась согласно формулам для Salary, где вместо 2007 следует последовательно подставить каждый год работы сотрудника в организации;
Создадим вектор, который будет содержать подоходный налог Tax за последний год.
Рисунок 15 – Создание вектора tax
Рисунок 15 – добавление вектора tax во фрейм данных
Создадим вектор, который будет содержать суммарный подоходный налог TaxSum за все годы работы.
Рисунок 16 – Создание вектора taxSum
Рисунок 17 – добавление вектора taxSum во фрейм данных
Задание 3
Напишем функцию, которая принимает на вход числовой вектор x и число разбиений интервала k (по умолчанию равное числу элементов вектора, разделенному на 10) и выполняет следующее: находит минимальное и максимальное значение элементов вектора xmin и xmax, разделяет полученный отрезок [xmin; xmax] на k равных интервалов и подсчитывает число элементов вектора, принадлежащих каждому интервалу. Далее должен строиться график, где по оси абсцисс — середины интервалов, по оси ординат — число элементов вектора, принадлежащих интервалу, разделенное на общее число точек.
Рисунок 18 – создание функции showPlot
Проведём эксперимент на данной функции, где x — вектор длины 5000, сгенерированный из экспоненциально распределенной случайной величины, k=500.
Рисунок 19 – Результат исполнения функции showPlot с параметрами x=5000, k=500
Рисунок 19 – Результат исполнения функции showPlot с параметрами x=50000, k=5000
При большом числе точек и числе разбиений мы получаем приближение графика плотности вероятности экспоненциального распределения при λ=1.
Задание 4
Спроектируем и реализуем метод наименьших квадратов.
Метод наименьших квадратов — математический метод, применяемый для решения различных задач, основанный на минимизации суммы квадратов отклонений некоторых функций от искомых переменных.
В качестве данных выберем уровень безработицы Швеции за 1980–1990.
Рисунок 20 – данные уровня безработицы Швеции за 1980–1990
Создадим функцию, реализующую метод наименьших квадратов.
Рисунок 21 – Реализация функции метода наименьших квадратов
Рисунок 22 – Графика функции
Рисунок 23 – Результат функции
С помощью метода наименьших квадратов, была выявлена линейная зависимость уровня безработицы Швеции от года, выраженная функцией y = -0.17*x + 331,7.