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

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

> Подскажите с нейросетью
Fedor_Petuhov
сообщение 10.02.2017 - 17:49
Сообщение #1





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



Здравствуйте, проконсультируйте, пожалуйста. Надеюсь здесь кто-нибудь знает R.
1. Какое минимальное количество наблюдений нужно, чтобы построить нейросеть? У меня 7 независимых переменных и 3 зависимых (все метрические).
Между ними надо найти закономерности. Регрессия не вариант. Что-то КМД слабый.
2. Дело в том, что я работаю на производстве, где добывать данные крайне сложно, вернее дорого, там по-минимуму наблюдений. У меня в наборе всего 5 наблюдений. Есть ли какие-то хитрые способы грамотно и математически обосновано сгенерировать наблюдения для переменных, а уже потом строить нейросеть на них.
Спасибо всем за помощь.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
 
Открыть тему
Ответов
nokh
сообщение 17.02.2017 - 00:01
Сообщение #2





Группа: Пользователи
Сообщений: 1219
Регистрация: 13.01.2008
Из: Челябинск
Пользователь №: 4704



Цитата(nokh @ 14.02.2017 - 10:14) *
Разберусь с PLS (в R - в частности) - отпишусь в эту ветку.

C PLS-регрессией по алгоритму NIPALS всё более-менее ясно. В примере топикстартера 93,3% дисперсии набора Х объясняют 47,9% дисперсии набора Y если брать только первую компоненту. Набор Х очень хорошо прогнозирует Y1 (коэффициент детерминации R2=0,946), Y2 (0,946) и Y3 (0,881) и безобразно Y4 (0,096) и Y6 (0,072). Даже если брать все три компоненты ситуация с Y4, Y5 и Y6 неважная (R2 около 0,15). Это значит, что для надёжного прогноза химии (Y) одной рецептуры (X) недостаточно, нужно учитывать ещё что-то (может физические факторы, продолжительность процесса и т.п.). В целом же и по одной компоненте весьма похоже прогнозируется:
y1 y2 y3 y4 y5 y6 y7
103,3 -3,3 48,1 83,8 7,8 8,3 23,0
84,6 15,4 68,7 77,5 11,3 11,1 16,6
77,9 22,1 76,2 75,3 12,6 12,1 14,3
72,0 28,0 82,6 73,3 13,7 13,0 12,3
62,3 37,7 93,3 70,0 15,5 14,4 9,0

С R тоже есть прогресс, но пока он позволил только разочароваться в пакете pls:

1) результаты по алгоритму NIPALS (method="oscorespls") не совпадают с расчётами в других пакетах (Statistica, Tanagra)
2) результаты для 4 разных методов "kernelpls", "widekernelpls", "simpls", "oscorespls" дают одинаковые результаты (по крайней мере для этого примера)
3) для одной компоненты не может выдать summary (остальное считает):
> res.nipals<-mvr(Y ~ X, ncomp = 1, method = "oscorespls", scale = TRUE)
> summary(res.nipals)
Data: X dimension: 5 3
Y dimension: 5 7
Fit method: oscorespls
Number of components considered: 1
TRAINING: % variance explained
Ошибка в dimnames(tbl) <- list(c("X", yvarnames), paste(1:object$ncomp, :
длина 'dimnames' [1] не равна протяженности многомерной матрицы
4) вместо регрессионных коэффициентов предикторов пакет выдаёт их умноженными на стандартные отклонения предикторов.

Буду смотреть другие пакеты с PLSR.

Сообщение отредактировал nokh - 17.02.2017 - 00:18
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 18.02.2017 - 00:30
Сообщение #3





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



Цитата(nokh @ 17.02.2017 - 00:01) *
C PLS-регрессией по алгоритму NIPALS всё более-менее ясно. В примере топикстартера 93,3% дисперсии набора Х объясняют 47,9% дисперсии набора Y если брать только первую компоненту. Набор Х очень хорошо прогнозирует Y1 (коэффициент детерминации R2=0,946), Y2 (0,946) и Y3 (0,881) и безобразно Y4 (0,096) и Y6 (0,072). Даже если брать все три компоненты ситуация с Y4, Y5 и Y6 неважная (R2 около 0,15). Это значит, что для надёжного прогноза химии (Y) одной рецептуры (X) недостаточно, нужно учитывать ещё что-то (может физические факторы, продолжительность процесса и т.п.). В целом же и по одной компоненте весьма похоже прогнозируется:
y1 y2 y3 y4 y5 y6 y7
103,3 -3,3 48,1 83,8 7,8 8,3 23,0
84,6 15,4 68,7 77,5 11,3 11,1 16,6
77,9 22,1 76,2 75,3 12,6 12,1 14,3
72,0 28,0 82,6 73,3 13,7 13,0 12,3
62,3 37,7 93,3 70,0 15,5 14,4 9,0

С R тоже есть прогресс, но пока он позволил только разочароваться в пакете pls:

1) результаты по алгоритму NIPALS (method="oscorespls") не совпадают с расчётами в других пакетах (Statistica, Tanagra)
2) результаты для 4 разных методов "kernelpls", "widekernelpls", "simpls", "oscorespls" дают одинаковые результаты (по крайней мере для этого примера)
3) для одной компоненты не может выдать summary (остальное считает):
> res.nipals<-mvr(Y ~ X, ncomp = 1, method = "oscorespls", scale = TRUE)
> summary(res.nipals)
Data: X dimension: 5 3
Y dimension: 5 7
Fit method: oscorespls
Number of components considered: 1
TRAINING: % variance explained
Ошибка в dimnames(tbl) <- list(c("X", yvarnames), paste(1:object$ncomp, :
длина 'dimnames' [1] не равна протяженности многомерной матрицы
4) вместо регрессионных коэффициентов предикторов пакет выдаёт их умноженными на стандартные отклонения предикторов.

Буду смотреть другие пакеты с PLSR.


1. тонко! пакету уже как бы 15 лет исполнилось, я бы у себя "в конфигурации" искал проблему в таком случае (ну или написал авторам на почту поддержки пакета если был бы уверен в проблеме)

2. и как удалось посмотреть _что_ считает статистика? исходный код есть? вот что вообще за вычисления делает статистика? в случае {pls} достаточно посмотреть в исходный код. не нравиться {pls} -- есть еще реализации, например https://cran.r-project.org/web/packages/matrixpls/index.html

PS собственно вот http://stats.stackexchange.com/questions/2...data-not-equiv#

Сообщение отредактировал p2004r - 18.02.2017 - 00:41


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 

Сообщений в этой теме
- Fedor_Petuhov   Подскажите с нейросетью   10.02.2017 - 17:49
- - passant   Цитата(Fedor_Petuhov @ 10.02.2017 - 16...   11.02.2017 - 19:59
- - Fedor_Petuhov   1. Виноват. Второпях перепутал. 3 независ , 7 зав...   12.02.2017 - 13:18
|- - passant   Цитата(Fedor_Petuhov @ 12.02.2017 - 12...   12.02.2017 - 15:14
|- - nokh   Цитата(Fedor_Petuhov @ 12.02.2017 - 15...   12.02.2017 - 18:13
- - Fedor_Petuhov   Без экстрасенсов и прочих жуликов:) Только чистые ...   12.02.2017 - 20:08
|- - p2004r   Цитата(Fedor_Petuhov @ 12.02.2017 - 20...   13.02.2017 - 11:37
|- - nokh   Цитата(p2004r @ 13.02.2017 - 13:37) ...   14.02.2017 - 08:14
|- - p2004r   Цитата(nokh @ 14.02.2017 - 08:14) Не...   14.02.2017 - 08:37
- - Fedor_Petuhov   Для химических смесей бывают исключения, когда дан...   14.02.2017 - 15:26
- - Fedor_Petuhov   и да приветствуются любые варианты кода, может из ...   14.02.2017 - 15:27
|- - p2004r   Цитата(Fedor_Petuhov @ 14.02.2017 - 15...   15.02.2017 - 10:07
- - Fedor_Petuhov   Тех задание не нужно. Непосредственно по программи...   15.02.2017 - 21:32
|- - ogurtsov   Цитата(Fedor_Petuhov @ 15.02.2017 - 22...   15.02.2017 - 21:49
|- - p2004r   Цитата(Fedor_Petuhov @ 15.02.2017 - 21...   16.02.2017 - 13:47
- - nokh   Цитата(nokh @ 14.02.2017 - 10:14) Ра...   17.02.2017 - 00:01
|- - p2004r   Цитата(nokh @ 17.02.2017 - 00:01) C ...   18.02.2017 - 00:30
- - Fedor_Petuhov   Да, я на stackoverflow почитал про нее, но не все ...   17.02.2017 - 16:41
- - Fedor_Petuhov   nokh, а такой R^2 может быть вызван малым кол-вом ...   17.02.2017 - 17:52
- - 100$   NIPALS 1966 г.р. {pls} v. 2.6-0 датируется 18/12/2...   18.02.2017 - 02:03
- - Fedor_Petuhov   as.numeric(mydata$classvar)+1 показал, что де...   18.02.2017 - 12:40
- - Fedor_Petuhov   закрываю вопрос) стаковерфлёу в помощь был)) вот т...   4.03.2017 - 18:28
- - Fedor_Petuhov   Коллеги, я стал работать с pls регрессией, с инте...   11.03.2017 - 15:12
- - p2004r   Цитата(Fedor_Petuhov @ 11.03.2017 - 15...   11.03.2017 - 23:52
- - nokh   Цитата(Fedor_Petuhov @ 17.02.2017 - 19...   12.03.2017 - 07:38


Добавить ответ в эту темуОткрыть тему