Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Максимизировать коэфф. корреляции opensolver - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Максимизировать коэфф. корреляции opensolver
Tooly Дата: Вторник, 27.11.2018, 15:34 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день, коллеги.
Помоги с решением задачи:
есть два набора данных (столбца) - 294 значения в каждом. Нужно максимизировать коэфф. корреляции, для этого можно выкинуть примерно 10% значений (остаться должно не менее 260 пар значений),
Ставлю условия:
менять можно слобец, который будет индикатором того оставляем (1) значение или убираем(0):
сумма значений >=260
значение столбца с индикатором может быть целым числом, >=0 и <=1.
Когда сохраняла модель, выплыло сообщение, что OpenSolver не умеет решать такие задачи, но, к сожалению, не очень внимательно прочитала и закрыла сообщение. Больше такое сообщение не появлялось даже если заново модель создать.
Но когда нажимаю "инициализировать модель" он весь столбец индикаторов в 0 загоняет, т.е. игнорируется условие, что сумма индикаторов должна быть не меньше 260.
Что не так делаю? Может, не тот метод выбираю?
Помогите, пожалуйста, кто в теме.
(воспользоваться excel и его поиском решений не получается, так как ограничение на 200 параметров, а у меня их тут 294)
К сообщению приложен файл: Max_corr.xls (96.5 Kb)


Сообщение отредактировал Tooly - Вторник, 27.11.2018, 16:06
 
Ответить
СообщениеДобрый день, коллеги.
Помоги с решением задачи:
есть два набора данных (столбца) - 294 значения в каждом. Нужно максимизировать коэфф. корреляции, для этого можно выкинуть примерно 10% значений (остаться должно не менее 260 пар значений),
Ставлю условия:
менять можно слобец, который будет индикатором того оставляем (1) значение или убираем(0):
сумма значений >=260
значение столбца с индикатором может быть целым числом, >=0 и <=1.
Когда сохраняла модель, выплыло сообщение, что OpenSolver не умеет решать такие задачи, но, к сожалению, не очень внимательно прочитала и закрыла сообщение. Больше такое сообщение не появлялось даже если заново модель создать.
Но когда нажимаю "инициализировать модель" он весь столбец индикаторов в 0 загоняет, т.е. игнорируется условие, что сумма индикаторов должна быть не меньше 260.
Что не так делаю? Может, не тот метод выбираю?
Помогите, пожалуйста, кто в теме.
(воспользоваться excel и его поиском решений не получается, так как ограничение на 200 параметров, а у меня их тут 294)

Автор - Tooly
Дата добавления - 27.11.2018 в 15:34
MCH Дата: Среда, 28.11.2018, 18:24 | Сообщение № 2
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

На сколько знаю, opensolver решает линейные задачи симплекс-методом, нелинейные задачи он не решает (либо нужно искать дополнительные модули)
У Вас составлена нелинейная модель. Может быть как то можно заменить функцию корелляции на другой вариант зависимости.

значение столбца с индикатором может быть целым числом, >=0 и <=1.

Данный вариант можно указать сразу одним ограничением - значения = bin (бинарные, т.е. целочисленные, могут быть либо 1 либо 0)

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

пример во вложении
К сообщению приложен файл: _Max_corr.xlsm (43.0 Kb)
 
Ответить
СообщениеНа сколько знаю, opensolver решает линейные задачи симплекс-методом, нелинейные задачи он не решает (либо нужно искать дополнительные модули)
У Вас составлена нелинейная модель. Может быть как то можно заменить функцию корелляции на другой вариант зависимости.

значение столбца с индикатором может быть целым числом, >=0 и <=1.

Данный вариант можно указать сразу одним ограничением - значения = bin (бинарные, т.е. целочисленные, могут быть либо 1 либо 0)

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

пример во вложении

Автор - MCH
Дата добавления - 28.11.2018 в 18:24
Светлый Дата: Четверг, 29.11.2018, 09:58 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1851
Репутация: 523 ±
Замечаний: 0% ±

Excel 2013, 2016
Добрый день!
Предлагаю другой принцип отбрасывания лишних пар.
Файл вкладываю.
К сообщению приложен файл: Max_corr-1.xls (89.5 Kb)


Программировать проще, чем писать стихи.
 
Ответить
СообщениеДобрый день!
Предлагаю другой принцип отбрасывания лишних пар.
Файл вкладываю.

Автор - Светлый
Дата добавления - 29.11.2018 в 09:58
Tooly Дата: Четверг, 29.11.2018, 12:16 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Ув. Светлый, я правильно понимаю, что Вы генерируете набор (35шт) значений с номерами строк и проверяете отбрасывание строк из какого набора дает лучший коэфф. корр?
Можете сообщить сколько времени занимает перебрать все комбинации 294^35 (минус повторы)? а лучше выложите, пожалуйста, файл с полной полседовательностью действий?
 
Ответить
СообщениеУв. Светлый, я правильно понимаю, что Вы генерируете набор (35шт) значений с номерами строк и проверяете отбрасывание строк из какого набора дает лучший коэфф. корр?
Можете сообщить сколько времени занимает перебрать все комбинации 294^35 (минус повторы)? а лучше выложите, пожалуйста, файл с полной полседовательностью действий?

Автор - Tooly
Дата добавления - 29.11.2018 в 12:16
Tooly Дата: Четверг, 29.11.2018, 12:44 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
2МСН, спасибо за предложенный алгорит и идею почему солвер не считает мою модель..
С генерацией, конечно, есть свои особенности. может оказаться, что набор из 270 пар даст луйший коэфф. корр, чем набор из 260. поэтому не хотелось бы, конечно, сразу задавать "отбросить указанное кол-во пар"...
Попробую поискать еще способы обхода.


Сообщение отредактировал Tooly - Четверг, 29.11.2018, 12:46
 
Ответить
Сообщение2МСН, спасибо за предложенный алгорит и идею почему солвер не считает мою модель..
С генерацией, конечно, есть свои особенности. может оказаться, что набор из 270 пар даст луйший коэфф. корр, чем набор из 260. поэтому не хотелось бы, конечно, сразу задавать "отбросить указанное кол-во пар"...
Попробую поискать еще способы обхода.

Автор - Tooly
Дата добавления - 29.11.2018 в 12:44
MCH Дата: Четверг, 29.11.2018, 13:40 | Сообщение № 6
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

По аналогии с предыдущем решением через стандартный "Поиск решения" от MS
Настройки "Поиска решения" сохранены на листе:
генерируем целые числа от 1 до 294 в количестве 34 штуки - те строки, которые будут выбрасываться
устанавливаем максимизацию целевой функции
устанавливаем генетический алгоритм

найденный результат не обязательно оптимальный, это может быть локальный оптимум
Перебрать 294^35, а точнее 294!/260!/34! варианта различных наборов чисел не возможно за разумное время
К сообщению приложен файл: Max_corr-2.xlsb (98.9 Kb)
 
Ответить
СообщениеПо аналогии с предыдущем решением через стандартный "Поиск решения" от MS
Настройки "Поиска решения" сохранены на листе:
генерируем целые числа от 1 до 294 в количестве 34 штуки - те строки, которые будут выбрасываться
устанавливаем максимизацию целевой функции
устанавливаем генетический алгоритм

найденный результат не обязательно оптимальный, это может быть локальный оптимум
Перебрать 294^35, а точнее 294!/260!/34! варианта различных наборов чисел не возможно за разумное время

Автор - MCH
Дата добавления - 29.11.2018 в 13:40
Светлый Дата: Четверг, 29.11.2018, 18:29 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1851
Репутация: 523 ±
Замечаний: 0% ±

Excel 2013, 2016
В первом варианте невнимательно выбросил 35 пар, а надо было 34.
Исправил и добавил в диаграмму второй ряд, который показывает, какие точки были выброшены и линии тренда.
Также выложил несколько вариантов Поиск решения и столбец отношений Y/X, в котором максимальные и минимальные значения частично коррелируют с выброшенными парами.
К сообщению приложен файл: Max_corr-3.xlsx (46.7 Kb)


Программировать проще, чем писать стихи.
 
Ответить
СообщениеВ первом варианте невнимательно выбросил 35 пар, а надо было 34.
Исправил и добавил в диаграмму второй ряд, который показывает, какие точки были выброшены и линии тренда.
Также выложил несколько вариантов Поиск решения и столбец отношений Y/X, в котором максимальные и минимальные значения частично коррелируют с выброшенными парами.

Автор - Светлый
Дата добавления - 29.11.2018 в 18:29
Tooly Дата: Четверг, 29.11.2018, 19:02 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Товарищи, спасибо за участие!
Подумаю, что еще можно сделать тут.
 
Ответить
СообщениеТоварищи, спасибо за участие!
Подумаю, что еще можно сделать тут.

Автор - Tooly
Дата добавления - 29.11.2018 в 19:02
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!