2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 пользовательские программы для обработки статистических данн
Сообщение03.12.2013, 10:39 
Вопрос относится к математической статистике.
Многие знают что для обработки стат. данных есть множество пакетов
SPSS, Statistika и т.п. Целесообразно ли даже в учебных целях писать на эти темы прикладные программы?
На мой взгляд в некоторых важных вопросах это целесообразно.
Например, неплохо бы иметь программу автоматически проверяющую гипотезы о законе распределения (как простые так и сложные с выборочной оценкой параметров или нет).
Встречаются также несмотря на обилие нестандартные плотности и законы распределений. (позже дам пример ). Хотя задачи на моделирование законов распределения и вообще стат.моделирование удобнее реализовывать опять таки в матем.пакетах Матлаб, Mapple.
С учебной т.зр. такого рода задания для программистов мне кажется полезны,
т.к. наряду с искусством программирования (обработкой чтения массивов из файлов) включают элементы математики и алгоритмов работы с массивами - сортировка, группировка.
Но хотелось бы получить мнение людей работающих практически в обл. статистики

 
 
 
 Re: пользовательские программы для обработки статистических данн
Сообщение03.12.2013, 10:52 
Аватара пользователя
Я в последнее время изучаю, преподаю и использую язык R. Он широко используется в научных и других исследовательских задачах.
Язык свободно распространяемый и достаточно удобный. Конечно, как и к каждому языку, к нему надо привыкнуть. Но первичные навыки появляются быстро. Особенно, если пользоваться хорошей литературой. В этом году вышла первая русскоязычная книга по языку R, "Наглядная статистика. Используем R!", авторы - А.Б.Шипунов, Е.М.Балдин,..., всего 7 человек, специалисты в информатике, математике, биологии, физике и медицине.

Мне этот язык очень нравится, все обычные исследования (оценки параметров, проверки гипотез, регрессионный анализ и т.п.) проводятся буквально "в одно касание", скрипты составляют несколько строк: ввод, тест, вывод. Кроме того, у R мощные средства визуализации (недаром книга так называется!) и постоянно пополняемый набор возможностей.

 
 
 
 Re: пользовательские программы для обработки статистических данн
Сообщение03.12.2013, 11:17 
Но, по-моему сейчас наиболее широко распостранен SPSS.
Есть какие-то существенные аргументы в пользу отказа от SPSS и перехода на R, (в т.ч по доступности нематематикам?)

 
 
 
 Re: пользовательские программы для обработки статистических данн
Сообщение03.12.2013, 11:29 
Аватара пользователя
Я как раз математик (т.е. не программист), так что не владею широко этой информацией. Но язык R точно простой.
Вот мой доморощенный скрипт для проверки нормальности 5 методами. До этого был произведен ввод данных в таблицу dann_num
Код:
library(nortest) # вызов библиотеки проверки нормальности

sink(paste(imja,"Нормальность.txt",sep =""), append = F) # настройка файла для вывода результатов

#-----------------------------------------------------------------------------------------
#Выводим на печать заголовки таблицы
#-----------------------------------------------------------------------------------------
cat("Критические уровни значимости по разным критериям","\n")
cat("Показатель", "Пирсон", "Колмогоров","Cramer-von Mises" , "Anderson-Darling",  "Shapiro-Francia" ,"\n",sep="\t") 

for (i in (1:m))         
{ p<-rep(0,5)

pearson.test(dann_num[,i])$p.value->p[1]
lillie.test(dann_num[,i])$p.value->p[2]
cvm.test(dann_num[,i])$p.value->p[3]
ad.test(dann_num[,i])$p.value->p[4]
sf.test(dann_num[,i])$p.value->p[5]

signif(p,1)->p # округление до  значащих цифр

#-----------------------------------------------------------------------------------------
#Выводим результаты проверки (название показателя и критические уровни)
cat(names(dann_num[i]), p, sep="\t\t" )

#-----------------------------------------------------------------------------------------
#Сравниваем с уровнем значимости 5%

if (max(p) < 0.05){cat("\t","Нет нормальности")}
cat("\n") 

#-----------------------------------------------------------------------------------------
#  строим гистограмму для каждого показателя
#-----------------------------------------------------------------------------------------
png(file=paste("Гистограмма ",names(dann_num[i]),".png"), width=240, height=240)
hist(dann_num[,i],xlab="Загрязненность",ylab="Плотность",main = paste("Гистограмма для ",names(dann_num[,i])))   
dev.off()
} # конец тела цикла

#-----------------------------------------------------------------------------------------
sink()



-- 03.12.2013, 12:36 --

Результатом будет проверка по 5 критериям нескольких (в моем случае 9) показателей и автоматический вывод гистограмм в .png-файлы.

Насчет того, что лучше: кто как привык. Если SPSS уже освоен (в какой-то степени) студентами - пусть пользуются. Если нет - почему не взять R?
Там, правда, есть специфические моменты, которые не сразу усваиваются имеющими опыт программирования в "обычных" языках. Например, нелюбовь к циклам и условным операторам. Но если начинать "с нуля" - все легко преодолимо.

Если же надо освоить некоторые конкретные методы обработки, можно просто написать соотв. программы и дать студентам разбираться.

 
 
 
 Re: пользовательские программы для обработки статистических данн
Сообщение03.12.2013, 11:44 
Функции R легче расширять, чем SPSS.
Как следствие, R уже давно "мощнее.

 
 
 
 Re: пользовательские программы для обработки статистических данн
Сообщение03.12.2013, 11:46 
Ознакомился здесь
http://habrahabr.ru/post/92135/
можноли и где бесплатно скачать оболочку под Win XP?

 
 
 
 Re: пользовательские программы для обработки статистических данн
Сообщение03.12.2013, 12:39 
Аватара пользователя
Когда мне дали его преподавать, практически ничего, кроме названия, не сказали. Так что гугл в руки! Прямо в википедии есть ссылка.
Ладно, не буду вредничать, посмотрите здесь: http://cran.r-project.org/

-- 03.12.2013, 13:47 --

Если вы все-таки займетесь этим языком, мы могли бы организовать здесь взаимопомощь. Пока я видела только один вопрос по этому языку. В качестве своего вклада предоставляю набор некоторых онлайн материалов. Правда, я его собирала 2 года назад для рабочей программы. Теперь, конечно, появились новые материалы.
1. Е.М.Балдин, А.Б.Шипунов, С.В.Петров, А.И.Коробейников. Анализ данных с R. Части I, II, III. http://www.inp.nsk.su/~baldin/DataAnalysis/index.html
2. Д.Мертц, Б.Хантинг. Статистическое программирование на R. Часть 1. Купаемся в изобилии статистических возможностей. http://www.ibm.com/developerworks/ru/library/l-r1/index.html
3. Д.Мертц, Б.Хантинг. Статистическое программирование на R. Часть 2. Функциональное про-граммирование и анализ данных. http://www.ibm.com/developerworks/ru/library/l-r2/index.html.
4. Д.Мертц, Б.Хантинг. Статистическое программирование на R. Часть 3. Повторное использование кода и объектное программирование. http://www.ibm.com/developerworks/ru/library/l-r3/index.html.
б) дополнительная литература
5. Научный блог Волиадиса http://voliadis.ru
6. Справочная система среды R
в) Информационно-программное обеспечение и Интернет-ресурсы
1. Сайт проекта http://www.r-project.org/
2. CRAN http://cran.r-project.org/
3. Список рассылки R-help https://stat.ethz.ch/pipermail/r-help
4. Советы по использованию R http://pj.freefaculty.org/R/Rtips.html
5. Справочные материалы http://www.statmethods.net/index.html , http://zoonek2.free.fr/UNIX/48_R/all.html
6. Поиск в материалах по R http://finzi.psych.upenn.edu/nmz.html

 
 
 
 Re: пользовательские программы для обработки статистических данн
Сообщение11.12.2013, 00:08 
Аватара пользователя
Кроме того, R можно связать с Wolfram Mathematica, что предоставляет много дополнительных плюшек.

 
 
 [ Сообщений: 8 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group