Показ дописів із міткою аналіз даних. Показати всі дописи
Показ дописів із міткою аналіз даних. Показати всі дописи
четвер, 29 серпня 2013 р.
Визначення діяльності людини на основі даних сенсорів смартфона.
четвер, 22 серпня 2013 р.
Підбірка книг з аналізу даних.
неділя, 18 серпня 2013 р.
Як вивчити R? Мій досвід.
- є бібліотеки для роботи з часовими рядами
- широкі можливості для візуалізації
- безкоштовна
- працює під Linux
Яким би прикладним питанням статистики чи аналізу даних ви не займались, є дуже висока ймовірність, що існує R бібліотека, яка значно полегшить вам роботу.
Для прикладу:
- machine learning - e1071, randomForest, повний список тут
- прогнозування часових рядів - zoo, forecast
- інтерактивний дешборд - shiny, rHighcharts, ggplot2
- візуалізація даних - ggplot2, lattice
- трансформація даних - reshape2, plyr
- дослідження текстів (text mining) - tm
- отримання даних з Twitter - twitteR
- пошук оптимального інвестиційного портфеля - fPotfolio
Повний список доступних бібліотек можна переглянути тут.
Основний недолік R - всі дані зберігаються в оперативній пам'яті, тому обробка великих об'ємів даних дуже обмежена. Хоча зараз з'явилась підтримка паралельних обчислень та можливість зберігати частину даних на диску. Детальніше про це можна прочитати в книзі Parallel R.
З чого почати вивчення?Основний недолік R - всі дані зберігаються в оперативній пам'яті, тому обробка великих об'ємів даних дуже обмежена. Хоча зараз з'явилась підтримка паралельних обчислень та можливість зберігати частину даних на диску. Детальніше про це можна прочитати в книзі Parallel R.
Перш за все, підівчити англійську мову принаймі до рівня розуміння текстів, оскільки документація і більшість книг англійською.
Російськомовних ресурсів не так вже й багато:
Статті:
Статті на Habrahabr http://habrahabr.ru/hub/r/
Блоги:
Група у Вконтакті: http://vk.com/club8142131
Якщо рівень англійської дозволяє читати книги й дивитись відео, вивчати R значно простіше і цікавіше. Почати можна з уроків від Code School: http://tryr.codeschool.com/ або серії відео від Google Developers . Курси від Coursera не лише дозволять вивчити R, але й застосовувати для можливості цієї мови для вирішення проблем аналізу в різних сферах:
- Statistics One - курс зі статистики, починається 22 вересня 2013.
- Computing for Data Analysis - застосування R для обробки та візуалізації даних, починається 23 вересня 2013.
- Data Analysis - методи аналізу даних, починається 28 жовтня 2013.
- Introduction to Computational Finance and Financial Econometrics - вступ до фінансової економетрики та обчислювальних фінансів, починається 28 серпня 2013.
Ресурс http://www.r-bloggers.com/ - агрегатор блогів з R різними мовами, при бажанні можна додати свій.
Книг є величезна кількість, почати можна з серії UseR! від Springer і Beginner's Guide to R зокрема.
Також можна підписатись на RSS-потік питань на StackOverflow та CrossValidated і вчитись через допомогу іншим.
неділя, 21 липня 2013 р.
Coursera. Introduction to Data Science.
Закінчила ще один курс від Coursera. Oтримала сертифікат з відзнакою (фінальний бал: 98,6 %):
Кілька слів про курс:
Introduction to Data Science один видався мені одним з найкорисніших, які я проходила. Основний акцент вcіх завдань - використання на практиці для обробки великих об'ємів даних. Більшість завдань виявились досить складними, ось їх перелік:
Особиста оцінка: 10 з 10.
Кілька слів про курс:
Introduction to Data Science один видався мені одним з найкорисніших, які я проходила. Основний акцент вcіх завдань - використання на практиці для обробки великих об'ємів даних. Більшість завдань виявились досить складними, ось їх перелік:
- Аналіз настроїв у Twitter-повідомленнях на Python.
- Аналіз бази даних (включно з множенням матриць та обрахуванням коефіцієнта подібності між елементами) (база даних SQLite)
- MapReduce на Python.
- MapReduce з використанням JSMapReduce (http://www.jsmapreduce.com/)
- NoSQL проект аналізу 0,5 ТВ графа використовуючи Amazon Web Services та Apache Pig.
- Участь у змаганні (можна було обрати довільне) на Kaggle.
- Візуальна аналітика та створення дешборда у Tableau.
- Участь у реальному проекті.
Теми лекцій:
- Реляційні бази та реляційна алгебра.
- MapReduce
- NoSQL
- Статистичний аналіз
- Machine Learning
- Візуалізація
- Аналіз графів
Якщо ви цікавитесь Big Data, аналізом даних чи Data Science - курс буде надзвичайно корисним.
Особиста оцінка: 10 з 10.
субота, 16 березня 2013 р.
Як покращити точність прогнозу?
Моделі поділяються на два типи: пояснювальні, які пояснюють минуле та прогностичні, які прагнуть передбачити майбутнє (Хороша візуалізація які методи і в яких випадках варто застосовувати тут http://www.saedsayad.com/data_mining_map.htm).
У випадку прогностичних моделей стикаємось з проблемою точності прогнозу. Покращити її можна різними методами:
Але є ще досить нетривіальний, хоча й досить логічний метод комбінування предікторів. Даний метод був використаний командою BellKor's Pragmatic Chaos, які перемогли у змаганнях Netflix Prize та виграли 1 мільйон доларів.
Тобто, якщо є 3 незалежні моделі.
Реальні значення: 3; 3; 2; 1. Точність прогнозу будемо вимріювати з допомогою RMSE (кореня середньої квадратичної похибки)
Нехай прогнозовані результати:
1 модель: 3; 4; 2; 1 RMSE: 0.5
2 модель: 3; 2; 1; 1 RMSE: 0.7
3 модель: 2; 3; 2; 1 RMSE: 0.5
Якщо врахувати, що кожна модель вносить 1/3 в загальний результат, будемо мати:
Прогноз: 2.7; 3; 2.3; 1 RMSE: 0.38.
Тобто просте комбінування предікторів дало кращий результат, ніж будь-яка модель. Чим більше моделей буде побудовано, тим кращим буде прогноз результуючої моделі.
Недоліки цієї моделі:
У випадку прогностичних моделей стикаємось з проблемою точності прогнозу. Покращити її можна різними методами:
- краще добирати змінні, які беруть участь в моделі
- використовувати якісні дані
- використовувати більше даних
- тестувати різні моделі
Але є ще досить нетривіальний, хоча й досить логічний метод комбінування предікторів. Даний метод був використаний командою BellKor's Pragmatic Chaos, які перемогли у змаганнях Netflix Prize та виграли 1 мільйон доларів.
Суть методу:
Будується N незалежних прогностичних моделей. Кінцеве значення прогнозованої змінної визначається середнім значенням або "голосуванням" серед прогнозованих значень всіх моделей.Тобто, якщо є 3 незалежні моделі.
Реальні значення: 3; 3; 2; 1. Точність прогнозу будемо вимріювати з допомогою RMSE (кореня середньої квадратичної похибки)
Нехай прогнозовані результати:
1 модель: 3; 4; 2; 1 RMSE: 0.5
2 модель: 3; 2; 1; 1 RMSE: 0.7
3 модель: 2; 3; 2; 1 RMSE: 0.5
Якщо врахувати, що кожна модель вносить 1/3 в загальний результат, будемо мати:
Прогноз: 2.7; 3; 2.3; 1 RMSE: 0.38.
Тобто просте комбінування предікторів дало кращий результат, ніж будь-яка модель. Чим більше моделей буде побудовано, тим кращим буде прогноз результуючої моделі.
Недоліки цієї моделі:
- Тяжко (або неможливо) інтерперетувати результати. Якщо при використанні лінійної регресії чи дерева регресії ви можете пояснити, як впливає кожна змінна на кінцевий результат (наприклад, кожен шматок торта збільшує вашу вагу на 300 грам), то у випадку комбінування пояснити модель неможливо.
- Потребує значних ресурсів для обчислення. Побудова кожної моделі, а також комбінування їхніх результатів вимагає часу та значних обчислювальних потужностей. Саме за рахунок цього, техніка комбінування, не дивлячись на дуже хороші результати по точності прогнозу не впроваджувалась компанією Netflix.
При написанні цього поста використовувались дані з курсу Data Analysis проекту Coursera.
вівторок, 26 лютого 2013 р.
Невідомі значення деяких змінних. Що робити?
Часто трапляється що отриманий набір даних не містить даних по деякі значення змінних.
Наприклад:
Що робити в таких випадках? Можливі рішення:
Видалити рядки, які містять невідомі значення.
Коли і як застосувати: Варто використовувати коли частка рядків з невідомими значеннями мала порівняно з доступним набором даних.Переваги: Надзвичайно просто реалізується
Недоліки: Втрачаємо частину даних, що може призвести до побудови некоректної моделі.
Заповнити найбільш ймовірним значенням.
Коли і як застосовувати: Якщо дані не мають викидів можна використовувати середнє значення. Якщо викиди є, краще використати моду - найбільш часте значення. Отримати ці значення можна з допомогою оглядової статистики.Переваги: Легко й швидко реалізується.
Недоліки: Може викликати появу значних відхилень у даних і сприяти побудові неправильних моделей.
Заповнити використовуючи кореляцію між змінними.
Коли і як застосовувати: Знаходимо кореляцію між змінними, будуємо модель залежності змінних з відомими та невідомими значеннями. На основі моделі вираховуємо значення невідомих змінних.Переваги: Підбирає більш точні значення ніж при заповненні найбільш ймовірним значенням.
Недоліки: Дуже багато додаткових моделей і перетворень, тому краще використовувати при невеликій кількості змінних.
Заповнити невідомі значення використовуючи подібність між зразками даних (спостереженнями).
Коли і як застосувати: Шукаємо подібність між рядками. Мірою подібності може бути евклідова відстань. Якщо два рядки подібні, і один з містить невідомі значення то їх можна замістити відомим з подібного рядка.Переваги: Підбирає більш точні значення ніж при заповненні найбільш ймовірним значенням Недоліки: При збільшенні набору даних вимагає все більше обчислень.
При використанні мови R можна використати бібліотеку imputation, яка дозволяє автоматизувати вищенаведені способи. Підбір невідомих значень може здійснюватись з допомогою визначення середніх значень, алгоритмів k-Nearest Neighbor, Singular Value Decomposition, Singular Value Threshold, лінійних методів та побудови дерев.
При написанні поста була використана інформація з книги Data Minig with R: Learning with Case Studies, автором якої є Luis Torgo та курсу Data Analysis, який веде Jeff Leek на проекті Coursera.
понеділок, 21 січня 2013 р.
Збір та підготовка даних: Неоптимальний спосіб.
Процес написання програми, яка використовуватиме методи data mining можна поділити на такі етапи:
Залишаємо лише ті квартири, про які є повна інформація (ціна, адреса (у деяких об'єктах вказано номер будинку), загальна площа, житлова площа, площа кухні, кількість кімнат, поверховість будинку та поверх, на якому розташована квартира)
В результаті отримали набір з майже 800 квартир, з допомогою якого можна проводити подальший аналіз даних. Про саму побудову та тестування моделі тут .
Недоліки, виявлені в процесі збору даних:
- Збір даних;
- Підготовка даних;
- Аналіз даних;
- Тренування моделі;
- Тестування моделі;
- Використання.
При визначенні ціни квартири у Львові (http://energyfirefox.blogspot.com/2012/12/blog-post.html)
збір даних відбувався за таким алгоритмом:
- Конвертувати сторінку в excel-формат (.xls);
- Зберегти таким чином перших 10 сторінок видачі.
Підготовка даних:
Для кожної сторінки з допомогою редактора таблиць (LibreOffice Calc, Excel, Google Spreedsheet):
- Відкинути поля "Стіни", "Назва", "Соток", оскільки вони не містять даних;
- Відкинути поля "Агенція", "Користувач", "Телефон" та "Опис", оскільки вони не будуть використовуватись при побудові моделі;
- Конвертувати дані в .csv формат.
- Об'єднати всі .csv частини в один датафрейм;
- Після оглядового аналізу даних
відкидаємо квартири, ціна яких менша 18000 у.о. та де число кімнат більше 5, як нетипові чи отримані при помилковому введені данихsummary(flobj)
flobj <- flobj[flobj$Ціна >= 18000 & flobj$Кімнат < 6, ]
flobj <- flobj[complete.cases(flobj), ]
Недоліки, виявлені в процесі збору даних:
- при конвертації в .xls ціни береться лише цифра без вказання валюти, а враховуючи, що з 1.01.2013 ціни стали вказуватись в гривнях (до того були в доларах), то побудувати коректну модель зараз неможливо;
- при перетворенні в .xls відсутні дані про тип стін та тип будинку, хоча на сайті вони є;
- занадто багато ручної праці (збереження .xls, видалення полів, перетворення в .csv).
понеділок, 14 січня 2013 р.
Sexy little numbers: How to Grow Your Business Using the Data You Already Have.
Саме так в оригіналі називається книга "Ключевые цифры. Как заработать больше, используя данные, которые у вас уже есть". Її автор Dimitry Maex, управляючий директор підрозділу OgilvyOne, підрозділу Ogilvy and Mather. Цікава розповідь про те, як отримати максимальну вигоду з маленьких цифр, які оточують нас всюди.
Цікавою буде також аналітикам: показане застосування алгоритмів data mining в маркетингу.
Кому:
Підкаже маркетологам та власникам бізнесу як використати аналіз даних для збільшення прибутку. Тут є відповідь які алгоритми можна використати, де взяти дані і, навіть, де взяти спеціалістів для виконання цих завдань.Цікавою буде також аналітикам: показане застосування алгоритмів data mining в маркетингу.
Про що:
Книга дасть відповідь на питання:
- Де знайти клієнтів?
- Як збільшити їхню лояльність?
- Як виявити найбільш цінних клієнтів?
- Де взяти дані для аналізу?
- Як використовувати рекламу з більшою ефективністю?
- Як визначити, що буде потрібне клієнтам у майбутньому?
- Скільки витрачати на рекламу?
- Як визначити, які методи ефективні, а які ні?
- Як оптимізувати ваш сайт?
Наведені приклади великих компаній: Cisco, UPS, British Telecom, але підходи можна застосовувати і в малому та середньому бізнесі.
Прочитати кілька розділів та рецензії можна прочитати на сайті видавництва.
Особиста оцінка: 10 з 10.
середа, 9 січня 2013 р.
Про корисність карток знижок.
Всі до них вже звикли, і сприймають як належне. В себе в гаманці ви напевне віднайдете принаймі з десяток різних дисконтних карт. Цікаве визначення з вікіпедії, яке співпадає із загальною думкою, що це, в першу чергу, засіб отримати знижку.
Але, насправді, основний профіт отримує продавець. З допомогою картки (а при отриманні більшості з них ви ще й анкетку заповнюєте) можна не лише психологічно прив'язати покупця наявністю знижки, а й однозначно ідентифікувати його покупки. Це дозволяє оптимізувати пропозицію товарів, а також провести сегментацію покупців. На основі отриманих даних можна рекомендувати покупцям послуги чи товари, які з великою ймовірністю їм сподобаються. Така схема рекомендацій для покупок працює в Amazon.
Дивно лише, що картки випускають всі кому не лінь, а от пропозицією товарів чи послуг конкретним користувачам в Україні займаються мало.
Один із варіантів реалізований у "Сільпо". Їхня програма лояльності для нашої сім'ї не дуже підійшла, оскільки протягом останнього року рекомендації щось придбати зводились до придбайте те, що ви зазвичай купуєте, тільки в дво- або трикратному розмірі і ваша знижка збільшиться. Фактично, вся програма лояльності говорить "ми хочемо, щоб ви у нас купили більше", а хотілося б варіанту "ми хочемо, щоб вам з нами було краще".
Наприклад, можна проаналізувати список покупок подібних користувачів. Припустимо, що частина з них регулярно купує вино + сир, а інша частина вино + сир + виноград. Тоді можна рекомендувати спробувати виноград першій групі. Подібні речі практикують при розкладанні товарів, але якщо і так раз у квартал присилають лист з пропозиціями, чому б не включити рекомендації продуктів? Чи рецепти, де складники принаймі на 85% присутні у звичному списку покупок? Адже всі покупки користувача присутні в базі.
Але будемо вірити, що застанемо рекомендаційні сервіси в Україні. Адже етап збору даних вже проводиться, а впровадити рекомендації та зробити життя покупців кращим (заодно підвищивши рівень їхньої лояльності) не так складно.
пʼятниця, 3 серпня 2012 р.
Аналіз інвестицій у технологічні компанії (Crunchbase з R та MongoDB).
При використанні пакету RMongo ми зіткнулися з обмеженнями при роботі з вкладеними структурами.
Тому якщо дані містять в собі інші вкладені підструкутри(що, власне, і притаманне MongoDB) доцільніше використовувати rmongodb.
В нашій базі містяться всі дані про компанії, які доступні на crunchbase. Ознайомитись з інформацією про Facebook можна тут http://api.crunchbase.com/v/1/company/facebook.js.
Для аналізу нам будуть потрібні лише такі дані:
Назва компанії, сфера її діяльності, рік заснування, раунди фінансування цієї компанії, рік та сума інвестицій у цьому раунді, кількість інвесторів та їх тип (фінансова організація, особа чи компанія).
Тому якщо дані містять в собі інші вкладені підструкутри(що, власне, і притаманне MongoDB) доцільніше використовувати rmongodb.
В нашій базі містяться всі дані про компанії, які доступні на crunchbase. Ознайомитись з інформацією про Facebook можна тут http://api.crunchbase.com/v/1/company/facebook.js.
Для аналізу нам будуть потрібні лише такі дані:
Назва компанії, сфера її діяльності, рік заснування, раунди фінансування цієї компанії, рік та сума інвестицій у цьому раунді, кількість інвесторів та їх тип (фінансова організація, особа чи компанія).
пʼятниця, 13 липня 2012 р.
субота, 30 червня 2012 р.
Де взяти дані для аналізу в R?
При вивченні різних технік аналізу даних (часові ряди, факторний аналіз, data mining) потрібно, перш за все, мати набір даних, на яких ці техніки можна застосовувати.
В R доступний готовий пакет datasets-package де можна обрати собі дані до вподоби як по формату даних, так і по предметній області.
В R доступний готовий пакет datasets-package де можна обрати собі дані до вподоби як по формату даних, так і по предметній області.
Стислий опис наборів:
пʼятниця, 17 лютого 2012 р.
Чому закривають серіал Доктор Хаус?
Продюсери популярного серіалу "House M.D." та Хью Лорі анонсували закінчення шоу в травні цього року. Восьмий сезон стане останнім для серіалу, який розпочався в 2004 році. Чи справді прийшов час це зробити?
Проаналізуємо інтерес глядачів до шоу.
пʼятниця, 27 січня 2012 р.
Часові ряди в R. Прогнозування декомпозицією
Часовий ряд - набір значень певної змінної через задані проміжки часу. Прикладом може бути температура повітря протягом дня. Тут є можливість ознайомитись з числовими рядами в різних сферах. Аналіз часових рядів дозволяє робити припущення про наступні значення змінної у майбутньому. Точність цього прогнозу залежить від характеру ряду та методу аналізу, який застосовується.
R надає потужні інструменти для дослідження часових рядів. Спробуємо сьогодні проаналізувати ряд з такими характеристиками:
Змінна величина: кількість клієнтів, які чекають на обслуговування.
Часовий інтервал: 5 хв.
Вхідні дані у форматі .csv
неділя, 22 січня 2012 р.
Baby analytics. Як зрозуміти немовля?
Батьків немовляти турбує багато питань :
- Чому плаче дитина?
- Чи не пора замінити підгузник?
- Може голодна?
- Скільки часу спить?
- Як часто їсть?
- Скільки часу їсть?
- Скільки часу пройшло від останнього годування?
- Можливо варто розбудити вдень, щоб вся сім'я могла добре виспатись вночі?
- Чому погано набирає вагу?
Запис щоденної активності полегшує життя батькам, оскільки дозволяє краще зрозуміти поведінку дитини, її добові ритми та потреби. Вести такі записи можна вручну та за допомогою різноманітних сервісів.
неділя, 18 грудня 2011 р.
Дивимось фільм Seven. По сюжету ФБР здійснює сегментацію читачів бібліотек. Хто прочитав певний перелік книг - кандидат в маніяки-вбивці.
четвер, 24 листопада 2011 р.
Desktop analytics. Застосування в контакт-центрі
Desktop аналітика - програмне забезпечення, яке дозволяє здійснювати збір та аналіз дій користувача за комп'ютером. При використанні в контакт-центрах системи такої аналітики дозволяють не лише проводити моніторинг діяльності операторів, а й тестування сценаріїв при введенні нових послуг, оптимізувати існуючі бізнес-процеси, оцінювати швидкість навчання нових працівників та ефективність роботи операторів. Також можна проаналізувати відхилення від середніх значень метрик - середньої тривалості розмови, кількості оброблених викликів, тривалості постобробки звернення та FCR(First Call Resolution) та визначити чому середні значення саме такі.
Проводити збір даних можна системами типу Yaware.
субота, 9 липня 2011 р.
Cruncbase. В якій галузі найвигідніше створювати стартап?
Минулого разу http://energyfirefox.blogspot.com/2011/06/crunchbase-r.html досліджували на основі crunchbase, яка загальна ситуація по залученню коштів технологічними компаніями. Хоча більшість розробників стартапів більше цікавлять не загальні дані (наприклад що гроші вкладаються приблизно в 1 з 6 компаній), а конкретно галузь, де шанси вигідно продати свій продукт найбільші. На основі даних отриманих А.Корніловим http://frutik.blogspot.com/ будемо аналізувати, в якій галузі найвигідніше шукати нові рішення.
понеділок, 27 червня 2011 р.
CrunchBase. Аналіз в R.
З бази стартапів http://www.crunchbase.com/ за допомогою скриптів, які доступні тут можна отримати дані для подальшого аналізу. Сьогодні аналізуватимемо проекти залежно від країни.
Передмова та аналіз засобами SQL від Андрія Корнілова тут.
Маємо інформацію про трохи більше як 60 000 проектів. Якщо вибрати серед них ті, які отримали кошти- цифра стає значно скромнішою - біля 10 тис.
Розглянемо розподіл коштів, для кращого сприйняття результатів будемо представляти результати в тисячах $.
субота, 18 червня 2011 р.
Scraper - інструмент для аналізу даних
Sсraper - розширення для Chrome, яке дозволяє зберігати дані з веб-сторінки та експортувати їх до Google Docs. Підходить для швидкого аналізу невеликого об'єму даних.
Підписатися на:
Дописи (Atom)