Форум врачей-аспирантов

Здравствуйте, гость ( Вход | Регистрация )

41 страниц V   1 2 3 > » 

p2004r
Отправлено: 11.01.2018 - 23:41


Дух форума
*

Группа: Пользователи
Сообщений: 1015
Регистрация: 26.08.2010
Пользователь №: 22699


Цитата(kont @ 10.01.2018 - 16:40) *
Подскажите, теоретический вопрос.
Допустим я построил нейросетевую модель. Переменная отклика -бинарная (1,0)
Но модель плохого качества
плохой AUC
переобучение на лицо. и прочее плохие бяки:)

Что мне нужно сделать, чтобы понять почему всё так плохо
и какие попытки нужно предпринять , чтобы улучшить качество модели
Потому что одним изменением параметров таких как порог и кол-во скрытых слоев и нейронов в них явно не отделаешься.


1. Задача просто может не иметь решения -- "иногда сны это просто сны" (С)

2. Если точно известно, что задача решается (например это данные по которым некий агент различает исходы), то надо думать

а) над представлением этих данных на входе

б) над аугументацией этих данных (если их явно маловато)

в) над выбранной архитектурой сети

г) над использованием более продвинутого алгоритма поиска решения, где нейросеть только один из элементов алгоритма решающего задачу разделения смеси
  Форум: Медицинская статистика · Просмотр сообщения: #22408 · Ответов: 3 · Просмотров: 212

p2004r
Отправлено: 15.12.2017 - 20:55


Дух форума
*

Группа: Пользователи
Сообщений: 1015
Регистрация: 26.08.2010
Пользователь №: 22699


Цитата(comisora @ 11.12.2017 - 18:49) *
Всем бобра.
Настал момент, когда для ввода данных экселя стало не хватать. Чего хотелось бы на нубский взгляд:
1. Легко создаваемые форм для внесения данных.
2. Возможность вносить данные в разные моменты времени с разных точек доступа или без связи с сеткой.
3. В перспективе поддержка разных платформ.
4. Валидация вносимых данных.
5. Выгрузка в R.
6. Возможность (на первых порах) обходиться без специалистов в базах данных.
Что нашел - epiinfo тормозит, создание форм муторное; DataEntry() ограничено по функционалу; LibreOffice Base - пока не разобрался; на Shiny кроме заготовок ничего не нашел.
В общем подскажите в каком направлении двигаться и куда смотреть. Или не заморачиваться и сдаться на милость survey сайтам?


Все что есть перечислено в https://cran.r-project.org/web/views/SocialSciences.html
  Форум: Медицинская статистика · Просмотр сообщения: #22326 · Ответов: 2 · Просмотров: 272

p2004r
Отправлено: 7.12.2017 - 09:42


Дух форума
*

Группа: Пользователи
Сообщений: 1015
Регистрация: 26.08.2010
Пользователь №: 22699


Цитата(зоо @ 6.12.2017 - 17:20) *
Подскажите, пожалуйста, вопрос из зоологии. Мне нужно посмотреть регрессионную модель вида:
y = YG + MG + YG×MG + L + МС
где y это масса коровы (метрич.пер)
YG ? эффект года рождения кат.пер.;
MG ? эффект месяца рождения кат.пер;
YG×MG ? совместное влияние факторов ?месяц × год рождения?;
L ? эффект линейной принадлежности кат.пер;
MC ? эффект месяца отела; кат. пер
для каждого из этих предикторов мне нужно построить табличку вида, как на картинке, где в ячейках должен быть скорректированный R^2.


Конечно, я бы мог сделать нечто
mymodel<-lm(y~YG,data=data)
Но это нужно делать для каждой из указанных независимой переменной, при том что у меня зависимых переменных много. Такая табличка будет для ряда зависимых переменных
Можно ли сделать в R, чтобы ввести это уравнение и он для каждой независимой переменной рассчитал регрессионные данные(коэф-ты, R^2) по отдельности?

Данные зазиппировал. т.к. на форуме я обратил внимание , что тут нельзя эксель кидать.



Стандартные репорты о моделях печатает apsrtable, stargazer.

Вот так лепить детерминацию исключая все остальные переменные модели я бы не стал, есть масса методов отбора переменных в модель более вменяемых.

  Форум: Медицинская статистика · Просмотр сообщения: #22296 · Ответов: 9 · Просмотров: 766

p2004r
Отправлено: 29.11.2017 - 12:25


Дух форума
*

Группа: Пользователи
Сообщений: 1015
Регистрация: 26.08.2010
Пользователь №: 22699


Цитата(Света K @ 29.11.2017 - 01:09) *
Это я так понимаю второй рисунок? А на первом что за 3 разных столбца с дисперсией? Фракция А варьирует значительно сильнее чем В, а В сильнее чем С? Можете объяснить?


Читаю данное пояснение и вижу, что это все-таки не то, даже совсем не то. Тут написано, что тернарные графики используются для показа состава смесей, состоящих из 3-х компонентов или показа условий когда три отдельные фазы существуют в равновесии. У меня ничего такого нет, да я и так знаю, что эти фракции у каждого индивида существуют в равновесии, у меня есть действующий агент, и надо бы статистически доказать повлиял/не повлиял ли он (и как именно) на общий/фракционный состав смеси. Т.е. есть ли какой-либо эффект он него? Да и не 3 компонента может быть, а до 10 (хотя какая разница), сейчас например я делаю опыт где определяю уже 5 фракций.


1) Прочитайте сначала https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%...%B5%D0%BD%D1%82 потом будет уместно задавать вопросы.


2) я поделил на количество, это видите? (хотя, какая разница)
  Форум: Медицинская статистика · Просмотр сообщения: #22272 · Ответов: 22 · Просмотров: 1798

p2004r
Отправлено: 26.11.2017 - 20:02


Дух форума
*

Группа: Пользователи
Сообщений: 1015
Регистрация: 26.08.2010
Пользователь №: 22699


Цитата(comisora @ 25.11.2017 - 22:48) *
2 p2004r
Добрый вечер. У Вас
df.rand1 <- t(apply(t(replicate(1000, runif(3))), 1, function(d) d/sum(d)))
df.rand2 <- t(apply(t(replicate(1000, 3+runif(3))), 1, function(d) d/sum(d)))
p1 <- prcomp(df.rand1)
p2 <- prcomp(df.rand2)
Можете показать пример, как "сравнить/обработать" p1 и p2 и заполучить "заветное p<0.05"?


У меня не так. У меня сделан predict() по однократно сделанному анализу.

Процентили для набора смесей считает пакет из поста (где то целая книжка попадалась как в R работать с данными о процентном составе смесей, сейчас не соображу).
  Форум: Медицинская статистика · Просмотр сообщения: #22257 · Ответов: 22 · Просмотров: 1798

p2004r
Отправлено: 25.11.2017 - 20:14


Дух форума
*

Группа: Пользователи
Сообщений: 1015
Регистрация: 26.08.2010
Пользователь №: 22699


Цитата(Света K @ 24.11.2017 - 18:45) *
Да, теперь это работает, спасибо. Однако, чтобы ответ был полезен не только тому, кто отвечает, но и тому, кто задал вопрос, необходимо объяснить, что показано на рисунках (наверно, это рис.1 и 2). Пока что для меня это просто какая-то дисперсия в 3 столбцах и какое-то рассеяние с какими-то векторами v2-v4 по каким-то осям pc1 и pc2. Можете подробно объяснить?


Прочитайте что такое тернарный график https://en.wikipedia.org/wiki/Ternary_plot и как работать с данными о составе смесей (или результатов голосований).

Собственно тернарный рафик в результате PCA датасета составов смесей и получается всегда.

Можно взять пакет R http://www.ggtern.com/ и построить процентили распределения смеси липидов в нем.
  Форум: Медицинская статистика · Просмотр сообщения: #22250 · Ответов: 22 · Просмотров: 1798

p2004r
Отправлено: 24.11.2017 - 21:55


Дух форума
*

Группа: Пользователи
Сообщений: 1015
Регистрация: 26.08.2010
Пользователь №: 22699


Цитата(Света K @ 24.11.2017 - 18:45) *
Да, теперь это работает, спасибо. Однако, чтобы ответ был полезен не только тому, кто отвечает, но и тому, кто задал вопрос, необходимо объяснить, что показано на рисунках (наверно, это рис.1 и 2). Пока что для меня это просто какая-то дисперсия в 3 столбцах и какое-то рассеяние с какими-то векторами v2-v4 по каким-то осям pc1 и pc2. Можете подробно объяснить?

Это не работает (наверно это рис.3): Ошибка в predict(df.lipid.pca, data.frame(t(colMeans((df.lipid[-1, 2:4]/df.lipid[-1, :
объект 'df.lipid.pca' не найден

Да, по Вашим ссылкам полно пакетов, спасибо. Но внятного объяснения с примером пока не нашлось. Поищу еще на досуге (хотя может такого объяснения и нет).


Да, пропущена строчка сохранения результатов PCA, но сам PCA явно проводиться в первой части приведенного кода. Просто сохраните его.

df.lipid.pca <- prcomp(df.lipid[,2:4]/df.lipid[,1], center=T, scale.=T)
  Форум: Медицинская статистика · Просмотр сообщения: #22244 · Ответов: 22 · Просмотров: 1798

p2004r
Отправлено: 24.11.2017 - 11:13


Дух форума
*

Группа: Пользователи
Сообщений: 1015
Регистрация: 26.08.2010
Пользователь №: 22699


Цитата(Света K @ 24.11.2017 - 10:30) *
Визуально я вижу, что агент слегка уменьшает количество фракции А, очень сильно увеличивает количество фракции С, но не влияет на фракцию В.


Настоящие влияния агента не совсем такие.

А соответствуют влиянию агента и ничему больше.

В соответствуют влиянию агента, но это влияние слабо + B имеет собственную динамику

С соответствует влиянию агента сильнее чем A, но "в противофазе".
  Форум: Медицинская статистика · Просмотр сообщения: #22239 · Ответов: 22 · Просмотров: 1798

p2004r
Отправлено: 24.11.2017 - 11:06


Дух форума
*

Группа: Пользователи
Сообщений: 1015
Регистрация: 26.08.2010
Пользователь №: 22699


Цитата(Света K @ 24.11.2017 - 10:30) *
Это какая конкретно программа (и версия) и где ее взять? И как туда ввести приведенный код?


https://ru.wikipedia.org/wiki/R_(%D1%8F%D0%...BD%D0%B8%D1%8F)
  Форум: Медицинская статистика · Просмотр сообщения: #22238 · Ответов: 22 · Просмотров: 1798

p2004r
Отправлено: 24.11.2017 - 08:56


Дух форума
*

Группа: Пользователи
Сообщений: 1015
Регистрация: 26.08.2010
Пользователь №: 22699


Цитата(nokh @ 23.11.2017 - 22:46) *
>p2004r
С обычным PCA здесь засада в виде композиционного характера данных. Где проходит граница допустимой степени "композиционности" не известно. Но традиционно для долей процентов (типа миллиграммы на литр или килограмм) ей пренебрегают и скорее всего обосновано. Но когда речь идёт о % и десятках процентов, композиции будут натягивать ложные корреляции. С 1990-х для многомерного анализа композиционных данных используют статистику Эйчисона, в т.ч. специальные предварительные преобразования "разворачивающие" constrained данные в как бы независимые. Разбирался давно и использовал ещё аддон к экселю "CoDaPack". Сейчас это есть в r, но пока не было подходящей задачи:
http://www.stat.boogaart.de/compositions/
https://cran.r-project.org/web/packages/rob...ions/index.html



Вот иллюстрация (именно для больших колебаний состава)

Код
> df.rand <- t(apply(t(replicate(1000, runif(3))), 1, function(d) d/sum(d)))
> str(df.rand)
num [1:1000, 1:3] 0.3748 0.4819 0.0077 0.2919 0.42 ...
> head(df.rand)
            [,1]       [,2]       [,3]
[1,] 0.374779178 0.32692176 0.29829906
[2,] 0.481935449 0.02743644 0.49062811
[3,] 0.007700625 0.85640582 0.13589356
[4,] 0.291939338 0.62626290 0.08179776
[5,] 0.420032905 0.42936418 0.15060291
[6,] 0.497522641 0.05128767 0.45118969
> plot(prcomp(df.rand))
> biplot(prcomp(df.rand))


Для многомерных данных все также.

Вот вариант для "малых колебаний состава смеси"

Код
> df.rand <- t(apply(t(replicate(1000, 3+runif(3))), 1, function(d) d/sum(d)))
> str(df.rand)
num [1:1000, 1:3] 0.327 0.329 0.34 0.335 0.321 ...
> head(df.rand)
          [,1]      [,2]      [,3]
[1,] 0.3271537 0.3089877 0.3638586
[2,] 0.3286260 0.3195480 0.3518260
[3,] 0.3397769 0.3595972 0.3006259
[4,] 0.3351038 0.3093977 0.3554985
[5,] 0.3206596 0.3115080 0.3678324
[6,] 0.3065733 0.3678315 0.3255952
> plot(prcomp(df.rand))
> biplot(prcomp(df.rand))



Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение

 
  Форум: Медицинская статистика · Просмотр сообщения: #22236 · Ответов: 22 · Просмотров: 1798

p2004r
Отправлено: 24.11.2017 - 01:35


Дух форума
*

Группа: Пользователи
Сообщений: 1015
Регистрация: 26.08.2010
Пользователь №: 22699


Цитата(nokh @ 23.11.2017 - 22:46) *
>p2004r
С обычным PCA здесь засада в виде композиционного характера данных. Где проходит граница допустимой степени "композиционности" не известно. Но традиционно для долей процентов (типа миллиграммы на литр или килограмм) ей пренебрегают и скорее всего обосновано. Но когда речь идёт о % и десятках процентов, композиции будут натягивать ложные корреляции. С 1990-х для многомерного анализа композиционных данных используют статистику Эйчисона, в т.ч. специальные предварительные преобразования "разворачивающие" constrained данные в как бы независимые. Разбирался давно и использовал ещё аддон к экселю "CoDaPack". Сейчас это есть в r, но пока не было подходящей задачи:
http://www.stat.boogaart.de/compositions/
https://cran.r-project.org/web/packages/rob...ions/index.html



PCA прекрасно расправляет "смеси" в тернарные трафики, отжимая лишнюю размерность. Здесь просто крайне мал размах варьирования состава, вот и не видно результирующего "треугольника(пирамиды)".
  Форум: Медицинская статистика · Просмотр сообщения: #22235 · Ответов: 22 · Просмотров: 1798

p2004r
Отправлено: 23.11.2017 - 23:47


Дух форума
*

Группа: Пользователи
Сообщений: 1015
Регистрация: 26.08.2010
Пользователь №: 22699


https://znatok-ne.livejournal.com/113063.html
  Форум: Медицинская статистика · Просмотр сообщения: #22234 · Ответов: 0 · Просмотров: 206

p2004r
Отправлено: 23.11.2017 - 19:49


Дух форума
*

Группа: Пользователи
Сообщений: 1015
Регистрация: 26.08.2010
Пользователь №: 22699


Цитата(Света K @ 23.11.2017 - 16:13) *
Имеются данные (процентное содержание фракций A, B и C (столбцы 2-4) и общее количество (столбец 1) определенных липидов в плазме), взятые у одного контрольного индивида (1) и полсотни испытуемых (2-48) после воздействия неким агентом. Как правильно статистически обработать эти данные, и какие и чем обоснованные выводы в результате можно сделать?


"Обработать" это жаргон ничего увы конкретного не означающий.

1.

Очень странный набор данных.

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

mvtnorm: Multivariate Normal and t Distributions https://cran.r-project.org/web/packages/mvt...s/MVT_Rnews.pdf

2. Можно просто посмотреть что там в датасете "глазами"

Вот например читаем данные и смотрим на большую часть дисперсии в них. Номера точки соответствуют нумерации в файле
Код
> df.lipid <-read.csv2("Фракционный состав.csv", header=F)
> plot(prcomp(df.lipid[,2:4]/df.lipid[,1], center=T, scale.=T))
> biplot(prcomp(df.lipid[,2:4]/df.lipid[,1], center=T, scale.=T))


Ну и например можно оценить где здесь среднее арифметическое многомерного распределения, и его квантили визуально оценить бутсрепом.

Код
> butstrep <- do.call(rbind,
                                  replicate(10000,
                                                  predict(df.lipid.pca,
                                                               data.frame(t(colMeans((df.lipid[-1,2:4]/df.lipid[-1,1])[sample(1:(48-1), replace=T),])))),
                                                  simplify=F) )

> plot(df.lipid.pca$x[,1:2])
> points(butstrep[,1:2], pch=".")

Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
 
  Форум: Медицинская статистика · Просмотр сообщения: #22230 · Ответов: 22 · Просмотров: 1798

p2004r
Отправлено: 16.11.2017 - 22:02


Дух форума
*

Группа: Пользователи
Сообщений: 1015
Регистрация: 26.08.2010
Пользователь №: 22699


Цитата(nastushka @ 16.11.2017 - 17:02) *
Код
Description
Calculate power for one-way ANOVA models.
Usage
pwr.1way(k=k, n=n, alpha=alpha, f=NULL, delta=delta, sigma=sigma)
Arguments
k
Number of groups
n
Sample size per group
f
Effect size
alpha
Significant level (Type I error probability)
delta
The smallest difference among k groups
sigma
Standard deviation, i.e. square root of variance


И где в этих аргументах вводить среднее и сигмы, у меня три группы и все имеют разные средние и сигмы)) а тут дана только одна сигма



Ну так посчитайте-оцените размер эффекта https://cran.r-project.org/web/packages/pwr...r-vignette.html
  Форум: Медицинская статистика · Просмотр сообщения: #22197 · Ответов: 8 · Просмотров: 668

p2004r
Отправлено: 16.11.2017 - 16:58


Дух форума
*

Группа: Пользователи
Сообщений: 1015
Регистрация: 26.08.2010
Пользователь №: 22699


Цитата(nastushka @ 16.11.2017 - 16:49) *
Подскажите, пожалуйста, как мне рассчитать мощность для ановы с тремя группами, имея только средние и стандартные отклонения?
пример
М=40, S=4
M2=35 S=10
M3=45 S=8
Как мне мощность рассчитать в R


https://cran.r-project.org/web/packages/pwr2/pwr2.pdf
  Форум: Медицинская статистика · Просмотр сообщения: #22195 · Ответов: 8 · Просмотров: 668

p2004r
Отправлено: 15.11.2017 - 08:33


Дух форума
*

Группа: Пользователи
Сообщений: 1015
Регистрация: 26.08.2010
Пользователь №: 22699


Цитата(comisora @ 15.11.2017 - 00:22) *
Всем добрый вечер.
Хочется уйти с Word'а в систему написания текстов так, чтобы можно было вставлять результаты из R, картинки, таблицы, ссылки на литературу, автособирать списки, оглавление, быстро редактировать стили и все прочее, что необходимо для публикаций, книг. Выбор, как понимаю, большой (латех, markdown), но не знаю, во что следует ударяться, пока думаю в сторону emacs+R+bookdown. Прошу поделиться опытом, кто как решает данный спектр задач.


Если коротко, то emacs + ess + austex(reftex) + noweb + flyspell

В LaTeX естественно все стили поддерживаемые knitr() (презентации beamer)

PS как вариант org-mode + babel (тогда добавляется еще куча языков), тогда это вообще система планирования + лабораторный журнал

PPS если сложные окружения для интерактивной работы в docker, то ядро R запускается в юпитер нотебоок (это проще чем тащить туда sshd).
  Форум: Медицинская статистика · Просмотр сообщения: #22189 · Ответов: 2 · Просмотров: 419

p2004r
Отправлено: 8.11.2017 - 18:16


Дух форума
*

Группа: Пользователи
Сообщений: 1015
Регистрация: 26.08.2010
Пользователь №: 22699


Цитата(nokh @ 4.11.2017 - 18:03) *
1
PS По поводу "обычных людей". Обычные люди работают на заводах, в офисах, магазинах и т.п. Они не измеряют длину побегов и не тусуются на статистических форумах. Процитирую сам себя (пособие скоро должно выйти):
"Я - биолог (я ? врач), а не статистик". Такая не всегда верная установка тиражируется в некоторых медицинских, педагогических и даже научных коллективах, а потому встречается не так уж редко. Она справедлива до тех пор, пока человек не приступает к выполнению научной квалификационной работы. Статистический анализ данных является неотъемлемой частью современной научной методологии. Поэтому, если человек работает над школьным научным проектом, дипломной работой бакалавра, магистерской, кандидатской или докторской диссертацией, он должен предъявить соответствующие данному квалификационному уровню умения грамотно получать данные и выделять из них наиболее существенные закономерности с использованием статистических методов. Поэтому, пока Вы занимаетесь научной работой, Вы ? статистик.


Только что увидел вот такое smile.gif


Эскизы прикрепленных изображений
Прикрепленное изображение
 
  Форум: Медицинская статистика · Просмотр сообщения: #22160 · Ответов: 36 · Просмотров: 3673

p2004r
Отправлено: 8.11.2017 - 14:44


Дух форума
*

Группа: Пользователи
Сообщений: 1015
Регистрация: 26.08.2010
Пользователь №: 22699


Цитата(leo_biostat @ 8.11.2017 - 13:55) *
Nerbi, hi.gif!

Без использования логистической регрессии ROC-кривые можно построить отдельно для каждого признака (переменной). Тогда как используя логистическую регрессию, ROC-кривая строится более продуктивно, учитывая все признаки, вошедшие в уравнение. Напомню, что эти признаки, называемые предикторами, существенно повышают степень взаимосвязи зависимой переменной от набора предикторов. Нежели степень взаимосвязи зависимой переменной и ОДНОГО признака. Пример такой взаимосвязи можете прочитать в статьях про логистическую регрессию, в частности по адресу http://www.biometrica.tomsk.ru/logit_4.htm

Успеха, Nerbi!


1) Сваливать в одну модель склонную к переобучению все независимые переменные вместе крайне плохой совет, стратегия которая ведет к переподгонке и полной неинформативности модели.

2) Ну а включение в модель логично начинать с показателей которые что то гарантированно значат для зависимой переменной.

Так что не могу не порекомендовать снова library(Boruta) https://m2.icm.edu.pl/boruta/ и аналогичные пакеты реализующие идею feature selection.

Примеры использования в статьях https://scholar.google.com/scholar?cites=13...968550215677895
  Форум: Медицинская статистика · Просмотр сообщения: #22157 · Ответов: 3 · Просмотров: 505

p2004r
Отправлено: 8.11.2017 - 13:14


Дух форума
*

Группа: Пользователи
Сообщений: 1015
Регистрация: 26.08.2010
Пользователь №: 22699


Цитата(Света K @ 8.11.2017 - 11:56) *
Спасибо,


... я еще разок вам всем в лицо плюну sad.gif

Дальше "Света" не читайте.

PS

Зачем вы господа хорошие кормите очередного тролля? Это же очевидно что такие заявления надо тереть в момент их появления.... ну в крайнем случае давать ссылку на википедию.

Тролль (обычно на нашем форуме это недоучившийся птушник программист подавшийся в датасаенс) всегда маскируется под "неосведомленного пользователя", который "чисто по глупости" делает "случайные" провокационные заявления. Часто действует из каких то конкурентных соображений. Цель в любом случае простая --- "нагадить в люфте"ТМ.

Поверьте нет больше попаболиТМ для этого же.ребенка если его труды будут просто стерты со страниц форума. smile.gif. Это все варианты мотивов такой "беззащитной овечки" достойно обесценивает в 0.
  Форум: Медицинская статистика · Просмотр сообщения: #22155 · Ответов: 36 · Просмотров: 3673

p2004r
Отправлено: 8.11.2017 - 13:00


Дух форума
*

Группа: Пользователи
Сообщений: 1015
Регистрация: 26.08.2010
Пользователь №: 22699


Цитата(Nerbi @ 8.11.2017 - 12:54) *
Здравствуйте! Подскажите, корректно ли строитьROC-кривую без проведения логистической регрессии и можно ли для построения ROC-кривой использовать значение признака (например, возраст или уровень гликемии, или скорость клубочковой фильтрации) с целью определения того значения признака, которое бы служило порогом, влияющим на исход заболевания?


ROC всё равно откуда взялся предиктор. Она вся состоит из точек (порогов) принятия решения, поэтому оптимальную точку принятия решения надо выбирать указывая (как минимум) частоту исходов в популяции где планируется использовать данный предиктор. А как максимум надо использовать для выбора точки принятия решения ещё и соотношение материальных потерь при ошибках первого и второго родов.
  Форум: Медицинская статистика · Просмотр сообщения: #22154 · Ответов: 3 · Просмотров: 505

p2004r
Отправлено: 4.11.2017 - 13:10


Дух форума
*

Группа: Пользователи
Сообщений: 1015
Регистрация: 26.08.2010
Пользователь №: 22699


Цитата(Света K @ 3.11.2017 - 15:40) *
После воздействия неким фактором (А) измерили длину 4 побегов в опыте и контроле.
Без действия:
75,2
78,3
88,9
87,0

После:
80,1
90,5
95,9
99,2

Как правильно написать (и вначале посчитать), что их длина увеличилась?
Судя по Вашему пункту 2, наверное, так: действие "А" эффективно, в результате длина увеличилась на 9 +- 5,3 см. (корень(44/4+69/4)=5,3)

А как по пункту 3? (В наличии только Excel 2003-2007 и калькулятор). Разные PAST недоступны, да и где их брать?


А как же сравнивать принадлежность или нет наблюдаемой выборки некоторому теоретическому рапределению?


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

Я, конечно, кое-что почитаю из Ваших ссылок (если среди них есть ссылки на конкретные алгоритмы, а не вообще), спасибо, но... См. выше.


Расчет очень прост

Код
> df.data
    V1 V2
1 75.2  a
2 78.3  a
3 88.9  a
4 87.0  a
5 80.1  b
6 90.5  b
7 95.9  b
8 99.2  b

> quantile(replicate(10000, {x <- sample(df.data$V1, replace=T); mean(x[1:4])-mean(x[4:8])}), probs=c(0.025,0.975))
     2.5%     97.5%
-9.210125  9.405000

> quantile(replicate(10000, {x <- sample(df.data$V1, replace=T); mean(x[1:4])-mean(x[4:8])}), probs=c(0.05,0.95))
      5%      95%
-7.68500  7.79025

> mean(df.data$V1[df.data$V2=="a"])-mean(df.data$V1[df.data$V2=="b"])
[1] -9.075


Разница средних групп не выходит за пределы доверительного интервала для этой разницы посчитанного рандомизацией при уровне когда мы считаем за достоверное событие имеющее вероятность ошибки принятия решения первого рода 5%.. Если выберем достаточным уверенность 9 случаев из 10, то можете считать доказанным влияние. (правда неплохо было бы посмотреть и уровень ошибок второго рода).

PS Ученый это не "обычный человек- не статистик", не знать для него математику в объеме необходимом для доказательства гипотез которые он выдвигает о своих данных, равносильно признанию в неумении читать и писать... Ну а что пусть писцы пишут, а заодно и правильные слова с понятиями придумывают.
  Форум: Медицинская статистика · Просмотр сообщения: #22120 · Ответов: 36 · Просмотров: 3673

p2004r
Отправлено: 3.11.2017 - 00:01


Дух форума
*

Группа: Пользователи
Сообщений: 1015
Регистрация: 26.08.2010
Пользователь №: 22699


Цитата(kont @ 2.11.2017 - 22:20) *
Я Вас правильно понял, теперь уже можно делать форекаст на сплитованном датасете df.sales.t?

# проверки на стационарность
adf.test(df.sales.t, alternative = "stationary")

#forecast
auto.arima(df.sales.t, seasonal=FALSE)
fit2 = arima(df.sales.t, order=c(1,1,7))

#
fcast <- forecast(fit2, h=1) # 1day ahead


Тут всё забавнее...

Поскольку пока у нас только 1 месяц, то дни недели трудно интерпретировать недели, и мы можем дни месяца слить вместе с днями недели

Код
> res_hosvd <- hosvd(as.tensor(df.sales.t.all), ranks=c(30,899,30))
  |======================================================================| 100%
> 1-res_hosvd$fnorm_resid/fnorm(as.tensor(df.sales.t.all))
[1] 0.9953629
> res_hosvd <- hosvd(as.tensor(df.sales.t.all), ranks=c(30,900,30))
  |======================================================================| 100%
> 1-res_hosvd$fnorm_resid/fnorm(as.tensor(df.sales.t.all))
[1] 1


Но ассортимент товаров реально состоит из 900 позиций (с точки зрения стоимости и сочетаемости продаж).

Это точно не синтетика какая то?
  Форум: Медицинская статистика · Просмотр сообщения: #22109 · Ответов: 26 · Просмотров: 1879

p2004r
Отправлено: 2.11.2017 - 19:27


Дух форума
*

Группа: Пользователи
Сообщений: 1015
Регистрация: 26.08.2010
Пользователь №: 22699


Цитата(kont @ 2.11.2017 - 15:50) *
Зато я понял, что значит утро вечера мудренее, я услышал, то о чем говорил p2004r. Действительно под вечер глядя ничего не соображал, а Вы правы, я лепил все в одну кучу, мне же нужно сделать форекаст для каждого магазина и каждого артикулла. Я пошел не тензорным путем, он для меня сложен пока, я пошел по старинке

datas=read.csv(sales.csv", sep=";",dec=",")
View(datas)
str(datas)


count_ts = ts(datas[, c('SALES')])
View(count_ts)

datas$clean_cnt = tsclean(count_ts)



datas$cnt_ma = ma(datas$clean_cnt, order=7) # using the clean count with no outliers
datas$cnt_ma30 = ma(datas$clean_cnt, order=30)

count_ma = ts(na.omit(datas$cnt_ma), frequency=30)
decomp = stl(count_ma, s.window="periodic")
deseasonal_cnt <- seasadj(decomp)
plot(decomp)


adf.test(count_ma, alternative = "stationary") # ряд стационарный , тест Дюке-Фудллера (p<0.01)

#count_d1 = diff(deseasonal_cnt, differences = 1)

#adf.test(count_d1, alternative = "stationary") # p<0,05 is STACIONARY SERIES


auto.arima(deseasonal_cnt, seasonal=FALSE)


fit<-auto.arima(deseasonal_cnt, seasonal=FALSE)

tsdisplay(residuals(fit), lag.max=45, main='(1,1,0) Model Residuals')



fit2 = arima(deseasonal_cnt, order=c(1,1,7))


fcast <- forecast(fit2, h=30)

p2004r,теперь когда на меня нашло озорение, сможете подсказать как мне сплит по группам сделать (shop+art)



Он был сделан когда был cast() подготовлен тензор

Код
df.sales.t <- acast(df.sales, DAY ~ ART ~ STORE , value.var="SALES", fill=0)

> str(df.sales.t)
num [1:30, 1:7683, 1:30] 108 0 0 108 0 216 0 0 0 0 ...
- attr(*, "dimnames")=List of 3
  ..$ :8322456 [1:30] "2015-11-01" "2015-11-02" "2015-11-03" "2015-11-04" ...
  ..$ :8322456 [1:7683] "540" "546" "570" "738" ...
  ..$ :8322456 [1:30] "956" "958" "961" "974" ...


Первая размерность -- день серии, вторая -- артикул товара, третья -- магазин.

Соответственно берем для первого магазина, и первого артикула историю за 30 дней.

Код
> str(df.sales.t[,1,1])
Named num [1:30] 108 0 0 108 0 216 0 0 0 0 ...
- attr(*, "names")=8322456 [1:30] "2015-11-01" "2015-11-02" "2015-11-03" "2015-11-04" ...
> df.sales.t[,1,1]
2015-11-01 2015-11-02 2015-11-03 2015-11-04 2015-11-05 2015-11-06 2015-11-07
     108.0        0.0        0.0      108.0        0.0      216.0        0.0
2015-11-08 2015-11-09 2015-11-10 2015-11-11 2015-11-12 2015-11-13 2015-11-14
       0.0        0.0        0.0        0.0        0.0        0.0      108.0
2015-11-15 2015-11-16 2015-11-17 2015-11-18 2015-11-19 2015-11-20 2015-11-21
       0.0        0.0      199.8        0.0        0.0        0.0        0.0
2015-11-22 2015-11-23 2015-11-24 2015-11-25 2015-11-26 2015-11-27 2015-11-28
       0.0       92.0        0.0        0.0        0.0        0.0        0.0
2015-11-29 2015-11-30
     184.0        0.0


Но это на самом деле не весь нужный тензор, нужно обязательно добавить еще измерение по дням недели, это крайне важный фактор для модели.

Вот таким образом.

Код
> df.sales$WDAY <- lubridate::wday(df.sales$DAY)
> str(df.sales)
'data.frame':    873912 obs. of  5 variables:
$ DAY  : POSIXct, format: "2015-11-01" "2015-11-01" ...
$ STORE: int  1534 25039 1612 1053 1612 961 1602 21761 19009 22691 ...
$ ART  : int  343533 20490 295206 16406274 49495 15309949 242763 188087 16350692 86093 ...
$ SALES: num  62.5 686.4 185 32.5 143.1 ...
$ WDAY : num  1 1 1 1 1 1 1 1 1 1 ...
> df.sales.t <- acast(df.sales, DAY ~ WDAY ~ ART ~ STORE , value.var="SALES", fill=0)
> str(df.sales.t)
num [1:30, 1:7, 1:7683, 1:30] 108 0 0 0 0 0 0 0 0 0 ...
- attr(*, "dimnames")=List of 4
  ..$ :8322456 [1:30] "2015-11-01" "2015-11-02" "2015-11-03" "2015-11-04" ...
  ..$ :8322456 [1:7] "1" "2" "3" "4" ...
  ..$ :8322456 [1:7683] "540" "546" "570" "738" ...
  ..$ :8322456 [1:30] "956" "958" "961" "974" ...
  Форум: Медицинская статистика · Просмотр сообщения: #22106 · Ответов: 26 · Просмотров: 1879

p2004r
Отправлено: 1.11.2017 - 23:14


Дух форума
*

Группа: Пользователи
Сообщений: 1015
Регистрация: 26.08.2010
Пользователь №: 22699


Цитата(kont @ 1.11.2017 - 22:52) *
p2004r прогнозируются общие суммы продаж купили макароны, и куры в итоге общая выручка 200 рублей. все её и нужно спрогнозировать, но я не могу понять как прогнозировать по ежедневным данным
сможете помочь?

PS
Вы сюда точно "на охоту ходите"ТМ?
что значит эта фраза?


нет, больше чем уже помог, помочь не в силах. "теперь вся сила в гемоглобине"(С)

до свидания.
  Форум: Медицинская статистика · Просмотр сообщения: #22098 · Ответов: 26 · Просмотров: 1879

p2004r
Отправлено: 1.11.2017 - 22:48


Дух форума
*

Группа: Пользователи
Сообщений: 1015
Регистрация: 26.08.2010
Пользователь №: 22699


Цитата(kont @ 1.11.2017 - 22:37) *
переменная
mydatas=read.csv2(sales.csv)
test=ts(mydatas$SALES,frequency=365, start=c(2015, 11))


Вы действительно не видите разницы из чего делать _временной_ ряд? Даже из названия товара и магазинов вперемешку? То есть "макароны купленные на малой бронной" это один тик, а "курица на маховой" второй тик _временного_ ряда? Ничего не смущает?

PS
Вы сюда точно "на охоту ходите"ТМ? smile.gif
  Форум: Медицинская статистика · Просмотр сообщения: #22096 · Ответов: 26 · Просмотров: 1879

41 страниц V   1 2 3 > » 

Открытая тема (есть новые ответы)  Открытая тема (есть новые ответы)
Открытая тема (нет новых ответов)  Открытая тема (нет новых ответов)
Горячая тема (есть новые ответы)  Горячая тема (есть новые ответы)
Горячая тема (нет новых ответов)  Горячая тема (нет новых ответов)
Опрос (есть новые голоса)  Опрос (есть новые голоса)
Опрос (нет новых голосов)  Опрос (нет новых голосов)
Закрытая тема  Закрытая тема
Тема перемещена  Тема перемещена