Использование машинного обучения, чтобы узнать, с чего начать

Я провел иммерсивный учебный курс по науке о данных, чтобы узнать, как лучше использовать данные для решения проблемы бедности. Эта панель инструментов (причудливая, да? Но совместимая только с настольными компьютерами) была результатом объединения 27 наборов данных из 6 разных источников и построения логической (иногда прогнозирующей) модели машинного обучения с использованием Python, Tableau и старого доброго Excel. Да да!

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

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

Для программистов: Вот ссылка на GitHub со всем кодом, данными и файлом панели управления Tableau, если вам интересно.

Заявление об ограничении ответственности

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

Но это не значит, что мы не можем пытаться.

Настройка («Почему»)

Я считаю, что данные - это будущее принятия решений.

Эта вера подтолкнула меня в Лондон в прошлом году, чтобы пройти трехмесячный иммерсивный учебный курс по Data Science через Генеральную ассамблею.

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

Проведя последние два года в работе с некоммерческими организациями, я понял, что в среднем в отделе воздействия просто не хватает технических знаний. Я помню, как одна из организаций, в которой я работал, наняла научного сотрудника и дала ему адрес электронной почты «[email protected]». Я был «[email protected]».

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

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

Эта проблема

Более 1,3 миллиарда человек находятся в многомерной бедности. Что означает эта многомерная вещь? Просто у концепции бедности есть множество аспектов: здоровье, образование, уровень жизни и зачастую неизмеримое измерение - достоинство. Это не так просто, как крайняя бедность, которая поражает всех, кто зарабатывает менее 1,90 доллара в день.

Как решить эту проблему как можно быстрее? За последние несколько десятилетий уровень бедности значительно снизился, но предстоит еще долгий путь. Итак, как мы можем ускорить этот процесс?

Многосторонние организации (ООН, Всемирный банк, МВФ), правительства и с помощью спорных методов КСО делают многое (хотя все еще имеет значение).

Эти игроки также собирают много данных - они не обязательно чистые или легко собираемые, но данные есть.

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

Итак, исходя из всех имеющихся глобальных макроданных, какие контролируемые факторы имеют наибольшее влияние на многомерную бедность? И могу ли я использовать машинное обучение, чтобы найти какие-либо значимые взаимосвязи в потоке имеющихся данных?

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

Было твердое убеждение, что ответы лежат на местах, а не скрыты в каких-то плохо собранных глобальных данных. Я с этим не возражаю. Что бы ни говорили данные, перед широкомасштабным внедрением вмешательств необходимо протестировать их на месте, особенно потому, что в большинстве случаев на карту поставлены жизни.

Кроме того, существует «переносимость» результатов - то, что они работали в прошлом или в Кении, не означает, что они будут работать сегодня или в Индии. И я не возражаю против всего этого.

Но что, если эти «плохо собранные» глобальные данные дадут нам отправную точку? Что, если бы они предложили нам для проверки гипотезы, которые были бы лучше, чем просто интуиция или анекдотические свидетельства? Можем ли мы использовать возможности машины, чтобы сообщить нам то, что наш мозг физически не может вычислить?

Идея

Итак, идея заключалась в том, чтобы взять все (или столько, сколько я мог) макроданных, доступных для как можно большего числа стран за как можно больше лет, использовать регрессионные модели (машинное обучение), чтобы выделить 10–15 наиболее важных факторов. / индикаторы и посмотреть, смогу ли я снова использовать машинное обучение, чтобы построить выводную взаимосвязь между этими изолированными факторами и многомерной бедностью (см. диаграмму выше). А затем, когда у меня возникли эти отношения, я создал своего рода панель инструментов, которую действительно мог бы использовать нетехнический пользователь.

Звучит прямолинейно, правда? Теоретически возможно, но мне пришлось многое выяснить:

A) Какая будет целевая переменная для многомерной бедности. Какую метрику я прогнозирую / пытаюсь понять?
Б) Где я могу найти все факторы или данные, которые повлияли на эту метрику бедности (и как объединить и очистить ее, когда я это сделал найди это).
C) Как найти надежную связь между этими контролируемыми факторами и многомерной бедностью.
D) И как черт возьми, поместить все это в причудливую удобную приборную панель. .

А) Выбор показателя многомерной бедности

В ПРООН есть индекс многомерной бедности, который называется Индекс многомерной бедности (ИМБ). Вы бы подумали, что я просто воспользуюсь этим, не так ли? Да, таков был план. Но не хватает данных за годы, недостаточно охваченных стран, и это также сложно подсчитать. Сотрите это.

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

Затем я наткнулся на Индекс человеческого развития (ИЧР), и было ощущение, что Иисус вернулся. Он был многомерным в том смысле, что учитывал образование, здравоохранение и доход (достаточно близко к MPI), с ним было связано множество точек данных по многим годам и странам, и его было довольно легко вычислить. Да, он не измерял конкретно бедность, но он действительно измерял благосостояние, и да, это не идеальный показатель, но пусть идеальное не будет врагом хорошего.

Да да! Иногда все, что вам нужно, - это немного рационализации.

Б) Поиск данных (и их очистка)

Затем мне пришлось получить данные со всей всемирной паутины. И источник я сделал. В какой-то момент мне пришлось остановиться, потому что процесс сбора данных может быть бесконечным. В конце концов, я собрал данные из 27 наборов данных из 6 различных источников, охватывающих более 59 лет в 147 странах (масо менос), включая около 800 факторов / характеристик / индикаторов.

Для программистов на Python: есть классная оболочка данных Всемирного банка, которую вы можете использовать для массового извлечения данных в самом Python. Кроме того, вы можете найти все данные, которые я собрал, очистил и объединил, вместе с кодом здесь (записная книжка Jupyter называется A - Объединение данных).

Я знаю, звучит впечатляюще, но там также было много мусора - много (ОЧЕНЬ) нулевых значений, много перекоса, повторяющиеся факторы и факторы, которые были сильно коррелированы (тесно связаны друг с другом). Как известно всем специалистам по данным, со всем этим нужно было разобраться. И это не всегда весело, но чертовски важно.

Я использовал Python и Excel для очистки и объединения данных - это было несложно. Однако нулевые значения были в моем наборе данных раком.

После слияния и (некоторой) очистки данных это выглядело так:

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

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

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

Теперь вы, вероятно, думаете: «Подождите, ЧТО? Вы просто создали данные из воздуха? И вы собираетесь использовать эти фальшивые данные для решения проблемы бедности? "

Да, это точно красный флаг, но есть решение. Пока мы используем истинные данные для измерения точности нашей модели машинного обучения (т. Е. В качестве «тестового набора»), мы снижаем риск того, что вмененные данные уведут нас в сторону. Подробнее об этом по мере продвижения.

Для программистов на Python: у Sklearn есть невероятный итеративный импьютер, который все еще находится на экспериментальной стадии, но для моих намерений и задач он работал безупречно. Документацию sklearn для импутера можно найти здесь, и вы можете увидеть, как я использовал его на своем Github, здесь (он находится в блокноте Jupyter B - Вычисление недостающих значений). Для процесса условного исчисления мне пришлось извлечь данные по каждой из 147 стран и рассчитать значения для каждой страны. В приведенном выше файле также есть все функции, связанные с этим процессом.

После очистки, объединения, вменения и удаления нулей (которые даже не могли быть вменены) мой окончательный набор данных представлял собой аккуратные 1353 строки x 513 столбцов, которые охватывали 28 лет в 46 странах и содержали более 500 факторов / функций.

В) Выделение основных факторов и поиск оптимальной взаимосвязи (модели) с благополучием

Теперь, когда у нас были данные, пришло время проникнуть в суть науки о данных. Первая часть процесса заключалась в том, чтобы выделить 10–15 основных факторов. Почему? Потому что, если бы я собирался создать информационную панель для пользователя, не занимающегося программированием, у нее не могло бы быть 500 факторов для переключения. Это сведет пользователя с ума с клинической точки зрения, но, что более важно, от моей панели инструментов. Так что мне пришлось уменьшить факторы. Как?

Критерии, которые я использовал для фильтрации этих факторов, были тройными:

  1. Эффективность (если это такое слово): насколько сильно взаимосвязаны факторы благополучия. Например, коррелирует ли коррупция (обратно) больше с благосостоянием или безработица? Я использовал алгоритмы машинного обучения, чтобы оценить влияние каждого фактора.
  2. Управляемость. Может ли предприниматель или физическое лицо реально повлиять на этот фактор в разумных пределах? Я не использовал для этого причудливую науку о данных, только свою интуицию. У магии тоже есть свои ограничения.
  3. Несвязанность. Факторы могут не сильно коррелировать с ИЧР (показателем благополучия) и друг с другом. Потому что, если бы они были такими, это было бы слишком просто.

Для программистов на Python: чтобы выявить влияние факторов, я был ограничен использованием тех алгоритмов машинного обучения, которые были логическими, то есть те, которые либо давали мне коэффициенты, либо важность функции. Так что я не мог использовать нейронные сети или KNN, но я запустил целый ряд регрессоров, которые были выведены - Lasso, Ridge, Elastic Net, Decision Trees (навалены с помощью AdaBoost) и Support Vector Machines.

Моей целевой переменной был HDI, а моя X (матрица предикторов) включала все 511 факторов, которые у нас были в наборе данных. Мой тестовый набор состоял в основном из истинных (не условно исчисленных) значений, которые снижали риск того, что условно исчисленные данные могут испортить модель.

После запуска всех моделей лучшим оказался LassoCV (что случается чаще всего), который дал мне оценку R2 0,94 на тестовом наборе и оценку 0,98. Поскольку данные, которые я использовал, являются годовыми, я также провел перекрестную проверку временных рядов, которая дала мне тестовый балл 0,97. Так что в целом модель выглядела хорошо.

Вы можете найти это на моей странице проекта Github здесь (это в блокноте Jupyter C - Выбор предикторов и окончательных моделей).

Это был супер-итеративный процесс. Я запускал множество моделей машинного обучения, и каждый раз они обнаруживали один или два новых фактора, которые либо сильно коррелировали с компонентами ИЧР (например, ВВП сильно коррелировали с валовым национальным доходом на душу населения, который используется для расчета ИЧР), либо что-то такое, что был не обязательно контролируемым (не уверен, как предприниматель может изменить массу суши, если вы не Дубай и не можете строить острова). Итак, мне пришлось отбросить эти факторы и снова запустить модели. И снова. И снова.

Другая проблема заключалась в том, что 10-15 факторов были слишком малы, поэтому, в конце концов, после массивной борьбы в стиле мулан, в которой я на долгое время погрузился в черную дыру, я сузил 511 факторов до следующих 19 факторов. это в некоторой степени соответствовало критериям, которые я выделил ранее:

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

Теперь перейдем ко второй части этого шага - построению окончательных моделей с использованием этих 19 изолированных факторов.

Как вы уже хорошо знаете, мы пытаемся предсказать благополучие, используя Индекс человеческого развития (ИЧР) в качестве целевой переменной. Важно понимать, как рассчитывается ИЧР.

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

Цель состояла в том, чтобы предсказать каждую из этих компонентных метрик, а затем использовать эти прогнозы для расчета HDI. Это станет основой для построения окончательной модели с изолированными («верхними») факторами. Он будет включать 4 мини-модели для каждой метрики компонента, которые затем будут связаны с HDI. Что-то вроде этого:

Пришло время моделировать!

Для программистов на Python: препятствием было то, что я мог использовать только один тип алгоритма машинного обучения. Это потому, что какой бы вывод я ни получил, мне нужно было экспортировать его в Tableau, чтобы иметь возможность создать интерактивную панель управления. Поскольку у меня не было Tableau Server и я использовал Tableau Public (БЕСПЛАТНО !!) для создания тире, я не мог использовать TabPy (библиотека / инструмент, позволяющий запускать код Python на лету. и отображать визуализации в Табло). TabPy (на момент написания этого поста) работает только с Tableau Server, который стоит $$$. По сути, это означало, что я мог использовать только модели линейной регрессии, потому что линейная регрессия дает мне уравнение. Получив коэффициенты и точку пересечения этого уравнения, я мог экспортировать их в CSV и использовать его для построения того же уравнения линейной регрессии в Tableau. Да, это было сложно, и да, я бы хотел, чтобы TabPy работал с Tableau Public.

Но вы не сдаетесь, вы адаптируетесь.

Для тех, кто не знаком с машинным обучением, общая метрика, используемая для оценки модели / алгоритма машинного обучения, называется R-квадрат (R2). Не стесняйтесь читать об этом больше, но для этого поста вам нужно знать, что оценка R2, равная 1, означает, что модель идеальна, а 0 означает, что она отстой. Итак, мы хотим, чтобы оценка R2 была близка к 1.

После создания, настройки и оптимизации моделей машинного обучения окончательные оценки моей модели выглядели так:

Здоровая модель, правда? Woohoo!

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

Для программистов Python: баллы, выделенные зеленым цветом, представляют собой баллы по набору тестов, который содержит только истинные значения (не вмененные значения). Это сделано для снижения риска использования вмененных значений в моих обучающих данных.

Я снова использовал LassoCV для каждой из четырех компонентных моделей (ожидаемая продолжительность жизни, средняя продолжительность обучения, ожидаемая продолжительность обучения и валовой национальный доход на душу населения). Я дополнительно оптимизировал эти модели с помощью GridSearch. Мне пришлось уменьшить асимметрию некоторых факторов / функций, и я сделал это, по сути, зарегистрировав сильно искаженные факторы. Факторы считались «сильно смещенными», если их смещение было больше 1.

После настройки четырех моделей я использовал их прогнозы для расчета ИЧР по формуле ПРООН. Затем я сравнил рассчитанные числа HDI с фактическими числами HDI и получил оценку R2, равную 0,97. И в целом, счет получился неплохим.

Вы можете найти все это более подробно на моей странице проекта GitHub здесь (это в блокноте Jupyter C - Выбор предикторов и окончательных моделей)

Модель построена. Оценка была хорошей. Пришло время экспортировать эту модель в виде причудливой таблицы.

D) Взять все это в Tableau для создания интерактивной панели инструментов

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

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

Чем это было бы им полезно? Возможно, это дало бы моей целевой аудитории инструмент, который они могли бы использовать, чтобы увидеть, как различные контролируемые факторы влияют на благополучие. Например, если они сократят коррупцию на 5%, как это может приблизительно повлиять на благосостояние? Или, если они увеличат электрификацию сельской местности до 100%, как изменится благосостояние выбранной ими страны? Все это будет основано на данных, охватывающих более 28 лет в 122 странах * всех типов, и будет определяться соотношением, рассчитанным с использованием машинного обучения, которое люди не смогут сделать в своей голове (или вручную). , или просто в Excel).

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

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

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

После долгого труда это был окончательный результат (который вы могли или не могли щелкнуть в начале, определенно не, если вы на своем телефоне, потому что он действительно работает только на рабочем столе). Если вы дошли до этого поста, я надеюсь, что у вас есть гляделка, и если у вас есть какие-то мысли, не стесняйтесь делиться ими. Это не идеально, это немного неуклюже, но может быть полезно. И если это так (или нет), дайте мне знать (или не знать).

Я выучил Tableau самостоятельно - это не так уж сложно, если вы готовы уделить этому время. Есть много полезных видеороликов на YouTube, и сами Tableau также содержат кучу обучающих материалов, которые могут быть хорошим началом. Вы можете найти рабочий файл панели управления Tableau, который я использовал на странице проекта GitHub.

Для программистов Python / экспертов по Tableau: Как я сказал ранее, я был ограничен Tableau Public. Если бы у меня был Tableau Server, я бы мог использовать TabPy и более сложные модели. В конце концов, мои оценки были довольно приличными, так что я не волновался. Файл .twbx для тире находится на странице GitHub этого проекта. Наслаждаться!

Выводы

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

  1. Электрификация сельских районов может изменить правила игры. Согласно модели, это оказывает наибольшее влияние на благополучие. Что касается Индии, если мы увеличим электрификацию сельских районов примерно с 77% до 100%, мы можем увидеть увеличение общего благосостояния на два пункта.
  2. Правительствам нужно больше тратить на здравоохранение. Это также сильно коррелировало с благополучием. В Индии, если мы утроим государственные расходы на здравоохранение на душу населения, мы повысим благосостояние на два процентных пункта. Это кажется небольшим, но в настоящее время Индия тратит очень мало на душу населения (~ 61 доллар) по сравнению с большинством стран с высоким уровнем доходов, которые тратят в среднем более 2500 долларов на душу населения.
  3. Высокий уровень фертильности у женщин-подростков (15–19 лет) оказывает сильное негативное влияние на благополучие. Это кажется очевидным и, как и ожидалось, имело большое значение для благополучия. Важно сократить количество беременностей в подростковом возрасте.
  4. Нам нужно меньше уделять внимание сельскому хозяйству. Увеличение добавленной стоимости в сельском, лесном и рыбном хозяйстве может привести к снижению благосостояния в соответствии с моделью. Это может показаться немного спорным, но оно подчеркивает, как мир уходит от аграрного общества к обществу, основанному на предоставлении услуг.
  5. Отсутствие достаточного числа учащихся начальной школы и неравенство в образовании - реальные препятствия на пути к благополучию. Неудивительно, что образование - это все - просто нужно поколение или даже больше, чтобы через это повлиять на изменения.
  6. Рассчитывать на то, что правительства тратят на образование, возможно, не выход. Опять же, немного спорно, но похоже, что государственные расходы на образование обратно пропорциональны благополучию. Обратите внимание, что согласно модели, это не значимый прогнозирующий фактор, поэтому он не сильно влияет на благополучие в целом.
  7. Безработица, уровень участия в рабочей силе и неравенство доходов, возможно, не так сильно влияют на благосостояние, как я думал. Согласно модели, это совсем не повлияло на самочувствие. Это было для меня немного шокирующим, потому что это то, на чем я хочу сосредоточиться. Мне нужно пересмотреть, насколько на самом деле эффективна работа по борьбе с безработицей и созданием рабочих мест.

Ограничения

Как я неоднократно упоминал в этом посте, это ни в коем случае не идеальная модель, и она должна служить, во всяком случае, отправной точкой. Приносим извинения за то, что это побитый рекорд, но важно не делать радикальных выводов из того, что выплевывает эта модель. И вот почему:

  1. В настоящее время модель обобщается по странам и датам, которые могут быть улучшены с помощью более сложных моделей (вспомните байесовские многомерные временные ряды). Таким образом, эта модель может пострадать от парадокса Симпсонов, что в основном означает, что то, что верно для всех стран, может быть неверным для конкретной страны.
  2. Другие факторы (помимо 19, которые были выделены) могли быть использованы для построения этой модели с аналогичными (но не обязательно с одинаковыми) уровнями точности.
  3. ИЧР не является надежным показателем для измерения благополучия. Были получены противоречивые выводы относительно полезности некоторых из его компонентов, таких как количество лет обучения и ожидаемая продолжительность жизни.

Дальнейшие действия

Помните этот перевернутый треугольник?

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

Многие из них уже происходят в Индии и по всему миру. Этот локальный подход, пожалуй, самый полезный и эффективный, особенно когда речь идет о глубоких и долгосрочных изменениях. Такие компании, как J-PAL, IPA и Evidence Action, проводят невероятные рандомизированные контрольные испытания, которые меняют наш подход к позитивным изменениям на местном уровне. Многие низовые некоммерческие организации (Barefoot College, GiveDirectly) также напрямую улучшают условия жизни местного населения. И я должен особо отметить Наш мир в данных - они делают невероятные вещи, синтезируя данные, доступные на макроуровне.

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

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

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

Поко а поко.

Спасибо, что дочитали до этого места. Шутки в сторону. Отправьте мне письмо, и я посмотрю, как я могу отправить вам пиво. Но может быть викторина, чтобы отфильтровать те, которые просто прокручены до конца. Подождите, позвольте мне просто построить модель машинного обучения, чтобы понять это. Машины едут.

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