Как получить научные результаты из неэкспериментальных данных (датамайнинг?)

  • Я хочу получить максимальную производительность от процесса со многими переменными, многие из которых нельзя контролировать.
  • Я не могу проводить тысячи экспериментов, поэтому было бы неплохо, если бы я мог провести сотни экспериментов и
    • варьировать множество контролируемых параметров
    • собирать данные по множеству параметров, указывающих на производительность
    • "правильно", насколько это возможно, для тех параметров, которые я не мог контролировать
    • Определите `` лучшие '' ценности для тех вещей, которые я могу контролировать, и начните все сначала

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

Итак ... С чего мне начать изучать алгоритмы, концепции, теорию подобных вещей? Были бы полезны даже связанные термины для целей поиска.

Предыстория: Мне нравится кататься на ультрамарафоне на велосипеде, и я веду записи о каждой поездке. Я хотел бы сохранить больше данных и после сотен поездок получить информацию о том, как я выступаю.

Однако все меняется - маршруты, окружающая среда (температура, давление, гул, солнечная нагрузка, ветер, осадки и т. д.), Топливо, отношение, вес, водная нагрузка и т. д. И т. Д. И т. Д. Я могу контролировать несколько вещей, но пробежать один и тот же маршрут 20 раз, чтобы проверить новый топливный режим, было бы просто удручающе, и на выполнение всех экспериментов, которые я хотел бы провести, уйдут годы. Однако я могу записывать все это и многое другое (телеметрия на велосипеде FTW).

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
4
0
299
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Похоже, вы хотите сделать регрессивный анализ. У вас наверняка много данных!


Регрессионный анализ - чрезвычайно распространенный метод моделирования в статистике и науке. (Можно было бы возразить, что статистика - это искусство и наука регрессионного анализа.) Существует множество статистических пакетов для выполнения необходимых вычислений. (Я бы порекомендовал один, но я устарел на много лет.)

Интеллектуальный анализ данных получил плохую репутацию, потому что слишком часто люди полагают, что корреляция равна причинной связи. Я обнаружил, что хороший метод - начать с переменных, которые, как вы знаете, имеют влияние, и сначала построить на их основе статистическую модель. Итак, вы знаете, что ветер, вес и набор высоты влияют на скорость вашего путешествия, и статистическое программное обеспечение может взять ваш набор данных и вычислить корреляцию между этими факторами. Это даст вам статистическую модель или линейное уравнение:

speed = x*weight + y*wind + z*climb + constant

Когда вы исследуете новые переменные, вы сможете увидеть, улучшилась модель или нет, сравнив метрику согласия, например R-квадрат. Так что вы можете проверить, добавляет ли что-нибудь к модели температура или время суток.

Возможно, вы захотите применить преобразование к своим данным. Например, вы можете обнаружить, что работаете лучше в более холодные дни. Но очень холодные и очень жаркие дни могут ухудшить производительность. В этом случае вы можете назначить температуры для бункеров или сегменты: <0 ° C; От 0 ° C до 40 ° C; > 40 ° C или что-то в этом роде. Главное - преобразовать данные таким образом, чтобы они соответствовали рациональной модели того, что происходит в реальном мире, а не только самим данным.


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

В прошлом я использовал модуль Perl Статистика :: Регрессия для решения похожих проблем. Однако учтите, что регрессионный анализ - это определенно искусство. Как сказано в предупреждении в модуле Perl, это не будет иметь для вас смысла, если вы не выучили соответствующую математику.

С таким количеством переменных у вас слишком много измерений, и вы можете посмотреть на Анализ главных компонентов. Это избавляет от «искусства» регрессионного анализа и позволяет данным говорить сами за себя. Некоторые программы для такого рода анализа показаны внизу ссылки.

Другие вопросы по теме