ОСОБЛИВОСТІ ВИКОРИСТАННЯ МОВ ПРОГРАМУВАННЯ R ТА PYTHON ДЛЯ ЕКОНОМІКО-МАТЕМАТИЧНОГО МОДЕЛЮВАННЯ
УДК 303.725.33:519.682
Мацюра Д.А., студент 1 року ОС магістр
ХНЕУ ім. С. Кузнеця
Анотація: розглянуто питання дослідження економіко-математичних моделей за допомогою використання таких мов програмування як R та Python. Наведено порівняльний аналіз використання тієї чи іншої мови для статистичного дослідження. Розглянуто проблеми інтеграції даних мов програмування у веб-середовищі для можливості подальшого утворення зручного середовища для візуалізації економіко-математичних моделей.
Ключові слова: R, Python, Shiny, моделювання, візуалізація моделей.
Abstract: The questions of economical-mathematical modeling by programming languages as R and Python are considered. The comparative analysis of the language for statistical research is given. The problems of the programming languages integration for the convenient visualization environment of economical and mathematical models are considered.
Key words: R, Python, Shiny, modeling, visualization of models
R та Python є сучасними мовами програмування за допомогою яких можливо здійснювати моделювання економетричних залежностей. Дані програмування мають відкритий вихідний код та велику спільноту, а отже постійно додаються нові бібліотеки та інструменти для дослідження. В той час як Python є мовою загального призначення і надає більш загальний підхід до аналізу даних, R – створюється людьми, що пов’язані зі статистикою та в основному використовується лише для проведення статистичного аналізу.
Мова програмування R де-факто є стандартним інструментом статистичної науки. Середовище R більш гнучке, ніж більшість інших програмних пакетів, що використовуються в статистиці й економетриці. Існує велика колекція бібліотек – пакетів розширення для мови програмування R, що постійно збільшується для використання в багатьох дисциплінах, на даний момент у вільному доступі існує понад 12000 пакетів. Усі бібліотеки публікуються на веб-сайті R. Завдяки простоті та гнучкості програмування в R їх легко розширити та використовувати за власними потребами. Також важливим фактором, власне для освітніх закладів, є те, що R абсолютно безкоштовна.
Python зарекомендував себе як першокласний інструмент для наукових обчислювальних завдань. Він може виконувати ті ж функції що і R, однак, він краще підходить для реалізації машинного навчання. Коди Python легше підтримувати і вони є більш надійними ніж R. Більшість завдань з наукових досліджень можливо виконати за допомогою п’яти бібліотек Python: NumPy для маніпулювання однорідними масивами даних, Pandas для маніпулювання гетерогенними і маркованими даними, SciPy для загальних наукових обчислювальних завдань, Matplotlib для візуалізації якості публікації, IPython для інтерактивного виконання та спільного використання коду, Scikit-Learn для машинного навчання.
Проаналізувавши основні характеристики мов програмування R та Python можливо навести різницю між ними у вигляді Таблиці 1.
Таблиця 1
Порівняльний аналіз R та Python
Параметр | R | Python |
---|---|---|
Завдання | Аналіз даних та статистика | Розгортання та виробництво |
Основні користувачі | Вчені, дослідники та програмісти | Програмісти та розробники |
Гнучкість | Проста у використанні доступних бібліотек | Легко побудувати нові моделі з нуля |
Крива навчання | Важко на початку | Лінійна |
Популярність мови програмування на 2018, (%) | 4,23 | 21,69 |
Інтеграція | Використовується локально | Добре інтегрується з додатками |
Завдання | Легко отримати первинні результати | Добре розгортати алгоритм |
Важливі пакети та бібліотеки | tydiverse, ggplot2, caret, zoo | pandas, scipy, scikit-learn, TensorFlow, caret |
Недоліки | Повільна крива навчання Залежність від бібліотек | Не така велика кількість бібліотек ніж у R |
Переваги | - Швидкий результат - Великий каталог для аналізу даних - Інтерфейс GitHub - RMarkdown - Shiny |
- Математичні обчислення - Математичні обчислення - Розгортання - Читання кодів - Швидкість - Функції в Python |
Візуалізація даних відіграє важливу роль у кібернетиці, як у моделюванні певних економічних показників та і в галузі Data Science. Для подальшого дослідження моделей та складних даних їх краще візуалізувати, аніж намагатись їх розбирати в електронних таблицях.
У R існує велика кількість бібліотек, що допомагає візуалізовувати економетричні залежності, однак, якісно виділяється пакет Shiny.
Shiny – це відкритий пакет від RStudio, який використовується для побудови інтерактивних веб-сторінок з R. Він забезпечує потужні методи для розробки, розповсюдження та подальшої взаємодії з моделями чи потоками даних. Shiny забезпечує функціональність для інтерактивних веб-програм. Також він надає нові можливості для взаємодії з досліджуваними економетричними моделями як дослідникам, так і викладачам.
За допомогою пакету Shiny та його додатків можна розміщувати автономні програми на веб-сторінці, вставляти їх у документи R Markdown, створювати інформаційні панелі. Також є можливість вбудовування додатку в електронний підручник зі збереженням інтерактивної складової. Також можна розширити додатки Shiny за допомогою таблиць стилів CSS, HTML-віджетів та скриптів JavaScript.
У Python існує ряд бібліотек, що дозволяють візуалізовувати досліджуванні дані, такі як наприклад Matplotlib. Matplotlib - це мультиплатформенна бібліотека візуалізації даних, побудована на масивах NumPy і призначена для роботи з ширшим стеком SciPy. Він був задуманий як патч для IPython для вмикання інтерактивного MATLAB-стилю з допомогою gnuplot з командного рядка IPython, однак, згодом він був розширений та випущений як окремий пакет.
Однак, головною перевагою Python є можливість інтеграції алгоритмів у додатки. Таким чином можливо створити базову модель веб-сайту, де основні обчислювальні функції виконуватиме сервер на базі Python, а дані для візуалізації передаватимуться на сторінку користувача та відображатимуться за допомогою JavaScript та його бібліотек.
Отже, сучасні методи дослідження економетричних залежностей за допомогою мов програмування R та Python надають великий спектр можливостей для аналізу даних.
Використання того чи іншого інструменту залежить від необхідності отримання певного результату. R та велика кількість його бібліотек дозволяє здійснити первинний аналіз досліджуваних даних. Python, загальна мова програмування, яку краще використовувати для реалізації значних алгоритмів та машинного навчання.
ЛІТЕРАТУРА
Grant V. Farnsworth, Econometrics in R / October 26, 2008.
Christian Kleiber, Achim Zeileis, Applied Econometrics with R / Springer – 2008.
Jonas Gartner, Programming and evaluation of Shiny applications for lectures / Humboldt-Universit¨at zu Berlin. – June 18, 2017.
Edouard Duchesnay, Tommy Löfstedt, Statistics and Machine Learning in Python Release 0.2, June 22, 2018.
Jake VanderPlas, Python Data Science Handbook, November 17, 2017
Науковий керівник
к.е.н, доц. Мілевський С.В.