Уил Кьорсен

8 януари 2018 г. · 15 минути четене

Начертаване на голямото предизвикателство за тегло от 2017 г.

наука

Едно разочарование, което често чувам от тези, които учат наука за данни, е, че е трудно да се направи скок от примери за играчки в книгите до реални проблеми. Всеки учебен процес задължително трябва да започне с прости проблеми, но в един момент трябва да преминем отвъд подбраните примери и да объркаме генерирани от човека данни. Тази графика доста добре обобщава това, което съм преживял в образованието си по наука за данни, и въпреки че все още не съм преодолял проклетата планина, изкачих част от пътя, опитвайки се (и често не успявайки) в множество проекти с реални данни:

Най-добрият начин да се изкачите по тази крива е да изградите увереността си във времето и няма по-добро място за започване от проект, пряко свързан с живота ви. Тази публикация ще демонстрира директно прилагане на науката за данни към здравето ми и това на баща ми, личен проблем с ясни ползи, ако някога е имало такъв!

Добрата новина е, че за да приложите науката за данните във ваша лична полза, не са ви необходими данните или ресурсите на огромна технологична фирма, а само последователен набор от измервания и безплатни инструменти за анализ с отворен код като R и Python. Ако спрете да търсите, ще намерите потоци от данни навсякъде около вас, които чакат да бъдат проследени. Можете да стъпите на кантар всяка сутрин и в зависимост от резултата да се поздравите или да се принизите и след това да забравите за това до следващия ден. Отнемането на няколко секунди и записването на тегло веднъж дневно в електронна таблица може да даде полезен и чист набор от данни за няколко месеца (и увеличава шансовете да постигнете целта си). Тези данни са идеални, за да ви позволят да развиете своите умения за наука за данни върху реален проблем.

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

В тази публикация оставих целия код (направен в R), използван за създаване на графики, за да се съсредоточа върху резултатите и това, което можем да научим от тях, но целият код е достъпен на страницата на проекта GitHub за всеки, който иска да види как се случва магията. По същия начин данните са на GitHub и на Google Drive като csv файл за тези, които искат да следват. Също така се опитах да осигуря ресурси по конкретни теми за тези, които искат да научат повече. Сега е време да се потопите в науката за данните от Голямото предизвикателство за теглото през 2017 г.!

Опровержение: Първо, всички данни, представени в този проект, са реални! И двамата с баща ми вярваме в отворени данни (до известна степен) и определено не ни е грижа да изглеждаме по-успешни от нас. Второ, няма да се опитвам да ви продавам каквито и да било продукти за отслабване (въпреки че обмислях да нарека тази публикация „Как да отслабнете с Data Science“).

След като се дразнехме добродушно в продължение на години за нашите съответни борби - моята за наддаване, а неговата за отслабване - аз и баща ми решихме, че най-доброто решение е състезанието за промяна на теглото. Представянето на баща ми ще се измерва с изгубени килограми, а моето с натрупани килограми. Единствените правила бяха: трябваше да претегляме веднъж на ден, състезанието започна на 18 август и приключи на 1 януари 2018 г., а губещият трябваше да плати двойно промяната на теглото на победителя в лири. Тъй като това е проблем в реалния свят с действителните хора, нито първото, нито второто правило не бяха напълно потвърдени! Въпреки това, по време на състезанието (което всъщност приключи на 6 януари), събрахме над 100 точки от данни, повече от достатъчно, за да дадем много интригуващи заключения.

Състезатели

  • Аз (Уил): мъж на колеж, 5'11 '', начално тегло 125,6 паунда, студент, случайни ултрамаратонец
  • Татко (Крейг): мъж на възраст (ще ви позволя да познаете на каква възраст), 5'11 ', начално тегло 235,2 фунта, офис работник, бивш състезател по вдигане на тежести

И двамата решихме да бъдем възможно най-отворени за предизвикателството и казахме на семейството и приятелите си за състезанието, за да ни принудят да продължим. След като получихме много добре планирани съвети, изготвихме съответните стратегии. Реших да започна да обядвам, тъй като си бях изградил нездравословен навик да пропускам средното хранене, за да се съсредоточа върху работата си като стажант в НАСА. Баща ми искаше да яде точно същата диета, но да намали размера на порциите. Това изглеждаше като мъдро решение, защото означаваше, че той не трябва да мисли за диета, а прави същите храни и ги сервира на по-малки чинии. Той също така реши да работи по отношение на упражненията, като прави дълги разходки, подчертавайки необходимостта не от краткосрочен план за отслабване, а по-здравословен цялостен начин на живот.

Може също да започнете с цялата графика на резултатите.

И така, нали? Цялото състезание е обобщено в една снимка. Е, не съвсем. Това е добро начало, но има много прозрение, което да се извлече от работата ни по данните. Линиите, изчертани през данните, са модели, направени по метода на регресия „льос“, докато точките са действителните измервания. Веднага виждаме, че и двамата сме тръгнали в правилната посока! Тази графика обаче закрива много информация. Дори не можем да преценим кой е спечелил! За това можем да се обърнем към график, показващ всяка от промените в теглото ни в килограми спрямо началното тегло.

Тук използваме абсолютни стойности, така че по-голямото число е по-добро. Ясно виждаме, че докато състезанието първоначално беше близо, баща ми (Крейг) се отдръпна в края и спечели със значителна разлика. Поздравления татко! Друг извод е, че измерванията на теглото са доста шумни. Опитахме се да вземаме данни по едно и също време всеки ден, първо нещо сутрин, в една и съща скала, но има толкова много фактори, които влияят върху теглото от ден на ден, че гледането на една точка е безсмислено. Само чрез изследване на поредица от данни се появява тенденция. Освен това, всяка от нашите промени в теглото изглежда прилича на квадратна коренова връзка или логаритъм. Тоест, има първоначална бърза печалба (или загуба), която след това се изравнява с течение на времето. Това се очакваше, защото първоначално е доста лесно да постигнете напредък, когато сте мотивирани, но може да е трудно да поддържате инерцията. В крайна сметка и двамата се настанихме в плато с тежести, като крайните измервания показаха леки признаци на подобрение, които могат или не могат да бъдат тенденции.

Един лек проблем с този резултат е, че той не отчита телесното тегло. Ако баща ми отслабне с 10 кг, това е по-малко спрямо телесното му тегло, отколкото ако спечеля 10 кг. Следващата графика също показва промени, но този път по отношение на процент от телесното тегло.

Е, ако се вкоренявате за мен, нещата изглеждат много по-добре в тази графика. Моята процентна промяна беше по-голяма през по-голямата част от състезанието и аз бях напред до последния ден, когато баща ми току-що ме оформи по отношение на процента. Интересното е, че и двамата се установихме в обща промяна близо 6% от телесното тегло. Това може да предполага, че телата ни могат да се колебаят лесно в рамките на + - 6%, но освен това по-нататъшната промяна е по-трудна.

Представените по-долу са крайните числени резултати.

  1. Крейг: Крайно тегло = 219,8 lbs, абсолютна промяна = 15,4 lbs, процентна промяна = 6,55%
  2. Завещание: Крайно тегло = 134 lbs, абсолютна промяна = 7,4 lbs, процентна промяна = 5,85%

Графиките могат бързо да ни покажат много информация и качествени тенденции, но не отговарят на въпроси с количествен резултат. Например колко тегло е спечелил или загубил средно на ден всеки от нас? Какво е предвиденото ни тегло след една година, използвайки всички данни? Това са въпроси, на които трябва да се обърнем към моделирането, за да отговорим.

Просто линейно моделиране

Най-доброто място да започнем с всяко моделиране, където имаме непрекъсната променлива като теглото, е прост подход с линейна регресия. Ще създадем линеен модел с една променлива за отговор (y) и една обяснителна (x) променлива. Ние се интересуваме от връзката между теглото и дните от началото на състезанието, следователно отговорът е тегло, а обяснителната променлива е дни. От графиките видяхме, че това може да не е най-доброто представяне на данните, но това е добро място за начало и ни позволява да измерим съответните промени в теглото си.

Резултатите от модела на Крейг са представени по-долу. Тук има много информация, но ще разгледам и ще посоча какво е важно.

Основните части за изследване са параметрите, цифрите, които определят модела. В случая на прост линеен модел това са пресечната точка и наклонът, както е показано в уравнението за права линия: y = mx + b. За предизвикателството с теглото този модел става: тегло = (промяна на теглото на ден) * дни + тегло при нула дни. Теглото при нулеви дни в горното обобщение е в реда (прихващане) под колоната за оценка със стойност 227,78 lbs. Промяната на теглото на ден е в реда дни под колоната за оценка със стойност от -0,024 lbs/ден. Това означава, че при линеен модел баща ми е губил средно по 0,024 лири на ден средно.

Другите статистически данни, представени по-горе, са малко по-подробни, но и информативни. R-квадратът представлява частта от вариацията в променливата y (тегло), което може да се обясни с промяната в променливата x (дни). По-високият R-Squared означава, че моделът по-добре представя данните и можем да видим, че нашият модел представлява само 11,96% от вариацията в теглото. Освен това можем да разгледаме р-стойността, за да видим дали има реална тенденция в нашия модел или нашите данни са просто шум. Стойността на р е често срещана статистика, която представлява шанс наблюдаваните данни да се появят произволно под модела. За модела на Крейг р-стойността е 0,0002642, което пада доста под общоприетия праг на значимост от 0,05 (по-ниско е по-добре за р-стойност, защото означава, че данните са по-малко вероятни да са генерирани случайно). Следователно шансът, че загубата на тегло на баща ми е просто произволен шум, е по-малък от 3 на 10000. От този модел можем да заключим, че загубата на тегло на баща ми по време на състезанието е реална тенденция!

Сега можем да се обърнем към моя прост модел на линейна регресия за подобен анализ.

Обобщението на модела показва прихващане от 131,9 lbs, промяна на теглото на ден от 0,0095 lbs, R-Squared от 0,04502 и p-стойност от 0,01847. Нашите заключения са:

  • Спечелих 0,0095 lbs/ден в хода на състезанието
  • Моделът може да обясни само 4,5% от вариацията в теглото
  • Наблюдаваните резултати имат 1,85% шанс да се случат поради чист шанс

Стойността p за моя модел е малко по-висока от тази за баща ми, но все пак пада под прага на значимост и моделът показва реална тенденция.

Можем да визуализираме колко добре линейните модели се вписват в данните, като леко променим пълния код на резултатите и сменим линията на тенденцията на модела от „льос“ на линейна.

Изводът от линейното моделиране е, че двамата с баща ми демонстрирахме значителен напредък към целите ни за промяна на теглото по време на предизвикателството.

Генерализиран адитивен модел (GAM)

Обобщен адитивен модел надхвърля предположението за линейна връзка за прост линеен модел и представлява времеви ред (тегло в този случай) като комбинация (добавяне) на обща тенденция и ежедневни, седмични или годишни модели. Този подход работи много добре за реални данни, които често показват специфични модели. Нашите данни бяха събрани веднъж на ден в продължение на около 4 месеца, така че има само седмични модели и обща тенденция (за да има ежедневни модели ще са необходими множество наблюдения на ден). Въпреки това все още можем да направим полезни изводи от адитивния модел.

Първо можем да начертаем общата тенденция. Това е подобно на гладката линия, която видяхме в пълната графика на резултатите и ни показва общата траектория на промяна на теглото.

Следващата графика показва седмични тенденции по отношение на загубеното или натрупано тегло през всеки ден от седмицата. Този сюжет има полезна информация, защото показва кои дни са проблеми за целите ни за промяна на теглото.

Въпреки че с баща ми се опитвахме да вървим в противоположни посоки, имахме много сходни седмични модели. И двамата отслабнахме през първите два дни от работната седмица, наддадохме през останалата част от работната седмица и през уикенда тенденция надолу. Възможно е да прочета твърде много в тези сюжети, но моята интерпретация за мен е, че имах тенденция да получавам много повече упражнения през почивните дни (обикновено няколко многочасови бягания), което би намалило теглото ми в работната седмица. След това щях да наваксам теглото си, когато бях зает с часове, преди отново да загубя инерция през уикенда. По-доброто представяне на баща ми през почивните дни вероятно се дължи и на увеличаване на упражненията, когато той не е бил на работа. Тези резултати казват, че трябва да работя върху консумацията на повече храна през почивните дни, а баща ми трябва да работи за намаляване на консумацията си през седмицата. Обобщеният адитивен модел може да изглежда сложен, но можем да използваме резултатите, за да определим прости действия за подобряване на нашето здраве!

Друга полза от моделирането е, че можем да използваме резултатите, за да правим прогнози. Можем да правим прогнози или с линейния модел, или с обобщения адитивен модел, но тъй като адитивният модел представя по-добре данните, ние ще правим прогнози само с него. Има две оценки, които са от първостепенен интерес:

  1. Прогнози за 1 януари 2018 г., направени с нашите измервания от първите два месеца (до края на октомври 2017 г.)
  2. Прогнози за 1 януари 2019 г. направени с всички измервания

Първата прогноза ще ни позволи да сравним представянето си през втората половина на състезанието от прогнозираното въз основа на данните от първото полувреме. Втората прогноза ще ни даде представа къде очакваме да бъдем след една година.

Съществен аспект на прогнозите, който често се пренебрегва, са границите на несигурността. Мениджърите обикновено искат само едно число за прогноза, но това е невъзможност в несигурен свят. Дори и най-точният модел не е в състояние да улови присъщата случайност в данните или неточните измервателни устройства. Следователно, за да бъдем отговорни изследователи на данни, ние ще предоставим диапазон на несигурност в допълнение към един номер на прогноза.

Прогнози за 1 януари 2018 г. от два месеца данни

Следващите графики показват прогнозите за Craig и мен за планирания край на състезанието, направени от данни до 1 ноември 2017 г.