На основе данных о проектах, которые были выложены на платформе Kickstarter:
Проанализировать судьбу текущих проектов
Предсказать успешность будущего проекта
Вопрос I:
Какие факторы влияют на успешность?
Вопрос II:
Как предсказать соберет ли проект нужную сумму или нет?
В нашем распоряжении есть переменные Категория, Валюта, Количество спонсоров,Страна проекта и Необходимая сумма, $. Также, мы знаем дату, время размещения проекта и дату окончания сбора средств.
Если подумать логически, то на успешность сбора средств (его Статус) может влиять любая из этих переменных, кроме даты, времени размещения проекта и даты окончания сбора средств (нет разницы в какой день недели или во сколько проект был размещён, его всё равно увидят). Однако на успешность сбора средств очевидно может влиять время, за которое они должны быть собраны. Поэтому нам обязательно нужно также рассмотреть переменную Срок за который деньгии должны быть собраны.
Итак, первая переменная Категория. Как от неё будет зависить успешность? Взглянем на процентное соотношение успешных и провальных проектов в каждой категории:
Мы видим, что доля успешных проектов в разных категориях достаточно сильно отличается, но случайно ли это различие? Для этого мы применим статистический тест независимости признаков:
## Вероятность допустить ошибку первого рода: 0
Так как вероятность того, что такое распределение случайно равно 0, можно сказать, что Статус проекта зависит от его указанной Категории.
Вторая переменная Валюта, в которой требуется собрать деньги на реализацию проекта. Посмотрим на распределние успешных и провальных проектов для разных валют:
Заметим, что доля успешных проектов реалезуемых в разных валютах - разная, но отличается не так сильно как успешность по категориям, поэтому встаёт вопрос случайности такого распределения. Применяем статистический признак независимости признаков:
## Вероятность допустить ошибку первого рода: 1.208417e-81
Статистический тест показывает около нулевую вероятность случайного распределения, значит Статус зависит от Валюты.
Третья переменная Количество спонсоров, которые решаются вложиться в проект. Распределние количества спонсоров для успешных и провальных проектов выглядит следующим образом:
Эти распределения значительно отличаются, видно, что успешные проекты будут иметь большее количество спонсоров (что в общем-то логично). И всё же проверим эту разницу на случайность:
## Вероятность допустить ошибку первого рода: 0
Тест независимости признаков говорит нам, что получить такое отличие случайно невозможно, то есть Статус проекта зависит от Количества спонсоров.
Четвертая переменная Страна в которой будет осуществляться проект. Рассмотрим соотношение успешных и провальных проектов в разных странах:
Разница между странами замента, но является ли она случайной. По-традиции, используем тест независимости:
## Вероятность допустить ошибку первого рода: 1.835167e-94
Вероятность случайности различия успешности в странах настолько маленькое, что им можно принебречь. Значит, Статус зависит от Страны проекта.
Пятая переменная Необходимая сумма, $, которую запрашивают для начала проекта. Посмотрим на распределние необходимой суммы для проектов разного статуса:
Да, распределения отличаются, проекты, которые смогли собрать средства (успешные) просили в среднем меньше, чем провальные. Проверяем на случайность этого различия:
## Вероятность допустить ошибку первого рода: 1.412025e-06
Вероятность случайного различия допустимо мала (p-value<0.05), можно сказать, что Статус проекта зависит от Необходимой суммы,$.
И наконец, последняя - шестая переменная Срок, количество дней на сбор средств. Как выглядит распределение дней на сбор средств для проектов разной успешности?
Здесь распределения практически совпадают и отличаются очень слабо, совсем не понятно - может оно появилось случайно. Поэтому, проверим на независимость успешности и Количества дней на сбор средств:
## Вероятность допустить ошибку первого рода: 0
Мы получаем вероятность случайности таких распределений равную 0, то есть Статус проекта зависит от Срока
Мы проверили все переменные, которые теоретически способны влиять на Статус (успешность) проекта. В итоге, успешность зависит от каждой из указанных выше переменных.
Применим дерево решений для всех возможных переменных, от которых зависит Статус проекта. Для этого случайно выделим из начального датасета обучающую выборку, и построим на ней нашу модель.
Модель получилась очень простой и компактной, проверим её качество:
Для обучающей выборки:
## Модель верно предсказывает: 90.58% всех наблюдений
Для тестовой выборки:
## Модель верно предсказывает: 90.41% всех наблюдений
Результаты очень неплохие, модель предсказывает успешность сбора средств с точностью в 90%!
Однако, всё не так радужно, сама модель и её результаты, выглядят очень подозрительными:
Во-первых, в получившейся модели осталось всего две переменные - Необходимая сумма,$ (USD) и Количество спонсоров(backers).
Во-вторых, такая точность явно пораждается какой-то переменной, тестно связанной с успешностью.
На самом деле так и есть, посмотрим на влияние каждой переменной на исходный результат:
## backers main_category usd difference country
## 9626.1118 1827.1646 1805.0446 282.3256 159.1043
## currency
## 155.2433
Мы видим, что самое большое и очень значительное (по сравнению с другими переменными) влияние оказывает переменная Количество спонсоров. Действительно, ведь по сути этот показатель сразу даёт нам результативность сбора средств (чем больше людей вложились - тем лучше). Более того, для проекта, который только выходит на платформу, этот параметр вообще не известен, и появляется только после закрытия сбора средств. Поэтому, его необходимо исключить из рассматриваемых параметров.
Построим другую модель, используя все оставшиеся параметры:
Качество модели:
Для обучающей выборки:
## Модель верно предсказывает: 63.38% всех наблюдений
Для тестовой выборки:
## Модель верно предсказывает: 62.61% всех наблюдений
Новая модель учитывает только те параметры, которые мы знаем заранее, её точность упала до 63%. Какое влияения теперь оказывают переменные?
## main_category usd difference country currency
## 628.96317 255.61602 152.55615 2.71465 2.17793
Переменные распределены более приемлемо, Страна и Валюта влияют настолько незначительно, что модель их не учитывает.
Для предсказания успешности сбора средств мы получили две модели, вторая модель является наиболее объективной и единственной, достойной внимания, так как учитывает только известные заранее параметры. Однако, точность этой модели составляет всего 63%.
Мы проанализировали какие факторы могут и на самом деле оказывают влияние на успешность сбора средств некого проекта, построили модель для предскказания Успешности, исключили искажающий параметр. В результате мы получили предсказательную модель (свод правил), которая с точностью в 63% может сказать соберёт ли проект деньги или нет.