Добавлен: 20.10.2018
Просмотров: 614
Скачиваний: 3
УКАЗАНИЯ ДЛЯ ВЫПОЛНЕНИЯ БАЗОВОГО ЗАДАНИЯ УИРС
Введение
Деятельность людей, во множестве случаев, предполагает работу с
данными, а она в свою очередь может подразумевать не только
манипулирование ими, но и их изучение, обработку и анализ. Например,
нужно найти какие-то взаимосвязи в рядах наблюдений или определить
структуры, выделенные по каким-либо признакам и т.п.
Статистика – наука, в которой излагаются общие вопросы сбора,
измерения,
мониторинга
и
анализа
массовых
статистических
(количественных или качественных) данных.
Актуальность статистического анализа, в целом, состоит в том, что, имея
выборку данных на определенном временном интервале, можно делать
определенные выводы и даже прогнозировать изменения в будущих данных.
Существует множество методов статистического анализа данных.
Наиболее известные из них:
статистическое наблюдение;
сводка и группировка материалов статистического наблюдения;
абсолютные и относительные статистические величины;
вариационные ряды;
выборка;
корреляционный и регрессионный анализ;
ряды динамики.
1. Библиотека Apache.common.Math
Для выполнения базового задания по УИРС необходимо изучить
библиотеку Apache.common.Math, содержащую огромное количество
классов, методы которых могут решать различные задачи, в том числе и
задачи статистического анализа. Apache.common.Math – это библиотека с
автономными компонентами математики и статистики, которые необходимы
при выполнении многих задач. Очень важно, что для вычислений не
требуются никакие дополнительные компоненты, кроме компонентов
Apache.common.Math и самой платформы Java.
Уточняем постановку цели – базовым заданием по УИРС является
изучение возможностей пакета СТАТИСТИКА из этой библиотеки.
Описание этого пакета можно найти по адресу:
http://commons.apache.org/proper/commons-math/userguide/stat.html
Непосредственно скачать весь архив библиотеки Apache.common.Math
можно по адресу:
https://commons.apache.org/proper/commons-math/download_math.cgi
Распаковываете архив и выбираете: commons.math-3.6.1.jar
Файл commons.math-3.6.1.jar также распаковываете (используете WinRAR).
Создайте рабочий каталог – work. А в нем – два подкаталога – data и lib.
Из каталога с распакованным commons.math-3.6.1.jar выбираете подкаталог
org и со всеми его подкаталогами копируете в lib.
Таким образом, создаете библиотеку со всеми необходимыми классами
для задач статистического анализа. Каталог data будет использоваться для
размещения обрабатываемых данных.
2. Язык программирования
Разработку
программного
обеспечения
для
решения
задач
статистического анализа необходимо выполнить на платформо-независимом
языке программирования. Поэтому выбираете язык программирования Java,
слоганом которого является фраза «Написано однажды – работает везде».
Платформная независимость в языке Java реализована за счет того, что
написанный код при помощи транслятора компилируется в байт-код (язык,
который понятен компьютеру), после чего он может работать на любой
платформе при помощи виртуальной Java-машины.
Скачать дистрибутив Java SE можно по адресам, которые указаны ниже.
Если Windows (64 разр.), то здесь:
http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-
3848520.html
Если Windows только (32 разр.), то здесь:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-
2133151.html
Запускаете скачанный дистрибутив и следуете всем указаниям
установщика.
После окончания установки, пропишите путь к JDK (к каталогу bin – к
исполняемым файлам JDK ) в переменной среды path.
Схема настройки:
<Панель
управления>
–>
<Система и безопасность>
–>
<Система>
–>
<Дополнительные параметры системы>
–>
<Переменные среды>
3. Пример использования
Теперь необходимо проверить работоспособность данной библиотеки.
Для этого создадим объект класса, входящего в эту библиотеку и
воспользуемся его методами.
В качестве примера используем класс DescriptiveStatistics, методы
которого реализуют следующие статистические операции:
арифметические и геометрические средние;
дисперсия и стандартное отклонение;
сумма, произведение, сумма логарифмов, сумма квадратов;
и многое другое.
Для проверки будем использовать методы класса DescriptiveStatistics:
getMean (получение среднего), getPercentile (получение медианы) и
getStandardDeviation (получение стандартного отклонения).
Текст программы:
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Uirs {
public static void main(String[] args) throws IOException{
// Создаём объект класса DescriptiveStatistics, чтобы использовать его методы
DescriptiveStatistics descriptiveStatistics = new DescriptiveStatistics();
// Считываем данные из файла test.txt и создаем список, в который будем помещать
эти данные
FileReader reader = new FileReader("data/test.txt");
Scanner scanner = new Scanner(reader);
List<Integer> list = new ArrayList<>();
// Записываем в заранее созданный список данные до тех пор, пока они есть в файле
while(scanner.hasNextInt()) {
list.add(scanner.nextInt());
}
// Добавляем в объект класса DescriptiveStatistics считанные данные, чтобы проводить над
ними манипуляции
for (double v : list) {
descriptiveStatistics.addValue(v);
}
// Используя методы данного класса, находим среднее значение(mean), медиану(median) и
отклонение(standardDeviation)
double mean = descriptiveStatistics.getMean();
double median = descriptiveStatistics.getPercentile(50);
double standardDeviation = descriptiveStatistics.getStandardDeviation();
// Выводим на экран полученные значения, чтобы убедиться в работоспособности метода
System.out.printf("Среднее
значение:
%.2f\nМедиана
значений:
%.2f\nСтандартное
отклонение: %.2f", mean, median, standardDeviation);
}
}