Научная статья на тему 'КРОСПЛАТФОРМНА КОМП'ЮТЕРНА ПРОГРАМА ДЛЯ ПОЛІНОМІАЛЬНОГО РЕГРЕСІЙНОГО АНАЛІЗУ ДАНИХ'

КРОСПЛАТФОРМНА КОМП'ЮТЕРНА ПРОГРАМА ДЛЯ ПОЛІНОМІАЛЬНОГО РЕГРЕСІЙНОГО АНАЛІЗУ ДАНИХ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
62
17
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
регресія / аналіз даних / поліном / метод найменших квадратів / regression / data analysis / polynomial / least squares method / регрессия / анализ данных / полином / метод наименьших квадратов

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — С.Д. Точилін, В.О. Рибін

Поліноміальний регресійний аналіз широко використовується для побудови математичних залежностей по експериментальним статистичним даним. Поліноміальний регресійний аналіз даних виконується, як правило, за допомогою комерційних комп'ютерних програм, які мають графічний інтерфейс користувача. Однак ці програми в багатьох випадках не є кроссплатформними. У наш час однією з найбільш популярних мов програмування є Java. Вона кросплатформна і має API, що вільно розповсюджується, який дозволяє створювати програми для статистичної обробки експериментальних даних із графічним інтерфейсом користувача. У даній роботі за допомогою мови програмування Java була розроблена кроссплатформна комп'ютерна програма для поліноміального регресійного аналізу даних. Вона має графічний інтерфейс користувача і використовує при функціонуванні метод найменших квадратів. При цьому для визначення параметрів регресійної моделі із системи лінійних рівнянь, які формуються при обробці статистичних даних, застосовується метод Гаусса. Програма представляє результати аналізу даних у графічному та табличному вигляді. У графічному вигляді зображуються вихідні дані та відповідна їм регресійна залежність. У табличному вигляді відображаються параметри моделі регресії, а також дані, що аналізуються, і відповідні їм значення апроксимуючого полінома та залишків регресії. Крім того, програма визначає параметри необхідні для оцінки якості та значимості поліноміальної моделі регресії, яка була отримана при обробці даних. Розроблений додаток для оцінки якості моделі розраховує середню помилку апроксимації та коефіцієнт детермінації або індекс детермінації, а для оцінки її значимості обчислює фактичне і теоретичне значення F-критерію Фішера. При розрахунку теоретичного значення F-критерію Фішера програма використовує функцію бета-розподілу. Також розроблений додаток при аналізі даних дозволяє прогнозувати значення залежної змінної для значень регресора, які визначає користувач.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

CROSS-PLATFORM COMPUTER PROGRAM FOR POLYNOMIAL REGRESSION DATA ANALYSIS

Polynomial regression analysis is widely used to construct mathematical dependencies from experimental statistics. Polynomial regression data analysis is performed, as a rule, using commercial computer programs that have a graphical user interface. However, these programs in many cases are not cross-platform. Currently, one of the most popular programming languages is Java. It is cross-platform and has a free API, which allows to create programs for statistical processing of experimental data with a graphical user interface. In this paper, the cross-platform computer program for polynomial regression data analysis was developed using the Java programming language. It has a graphical user interface and uses the least squares method for its operation. In this case, the Gauss method is used to determine the parameters of the regression model from a system of linear equations that are formed during the processing of statistical data. The program presents the results of data analysis in graphical and tabular form. In a graphic form the initial data and the corresponding regression dependence are represented. The tabular form displays the parameters of the regression model, as well as the analyzed data and the corresponding values of the approximating polynomial and regression residuals. In addition, the program determines the parameters necessary for assessing the quality and significance of the polynomial regression model that was obtained during data processing. The developed application for assessing the quality of the model calculates the average approximation error and the coefficient of determination or index of determination, and to estimate its significance it calculates the actual and theoretical value of the Fisher F-test. When calculating the theoretical value of the Fisher F-test, the program uses the beta distribution function. Also, the developed application, when analyzing data, allows to predict the values of the dependent variable for the regressor values that the user determines.

Текст научной работы на тему «КРОСПЛАТФОРМНА КОМП'ЮТЕРНА ПРОГРАМА ДЛЯ ПОЛІНОМІАЛЬНОГО РЕГРЕСІЙНОГО АНАЛІЗУ ДАНИХ»

УДК 004.42

С.Д. ТОЧИЛИ, В О. РИБ1Н

3anopi3bKm нацюнальний техшчний ушверситет

КРОСПЛАТФОРМНА КОМП'ЮТЕРНА ПРОГРАМА ДЛЯ ПОЛ1НОМ1АЛЬНОГО РЕГРЕС1ЙНОГО АНАЛ1ЗУ ДАНИХ

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

У наш час однiею з найбшьш популярних мов програмування е Java. Вона кросплатформна i мае API, що вшьно розповсюджуеться, який дозволяе створювати програми для статистично'1' обробки експериментальних даних iз графiчним ттерфейсом користувача.

У дант роботi за допомогою мови програмування Java була розроблена кроссплатформна комп'ютерна программа для полiномiального регресшного анал1зу даних. Вона мае графiчний ттерфейс користувача i використовуе при функцюнувант метод найменших квадратiв. При цьому для визначення параметрiв регресшног моделi i-з системи лiнiйних рiвнянь, як формуються при обробц статистичних даних, застосовуеться метод Гаусса. Программа представляе результати анал1зу даних у графiчному та табличному виглядi. У графiчному виглядi зображуються вихiднi данi та вiдповiдна гм регресшна залежнкть. У табличному виглядi вiдображаються параметри моделi регресИ, а також дат, що аналгзуються, i вiдповiднi 1м значення апроксимуючого полтома та залишюв регресИ.

Крiм того, программа визначае параметри необхiднi для оцтки якостi та значимостi полiномiальноi моделi регресИ, яка була отримана при обробц даних. Розроблений додаток для оцтки якостi моделi розраховуе середню помилку апроксимацп та коефщент детермiнацii або тдекс детермiнацii, а для оцтки ii значимостi обчислюе фактичне i теоретичне значення F-критерт Фшера. При розрахунку теоретичного значення F-критерт ФШера програма використовуе функцт бета-розподшу.

Також розроблений додаток при аналiзi даних дозволяе прогнозувати значення залежно'1' змтно '1' для значень регресора, яю визначае користувач.

Ключовi слова: регреая, анализ даних, полтом, метод найменших квадратiв.

С.Д. ТОЧИЛИН, В.О. РЫБИН

Запорожский национальный технический университет

КРОССПЛАТФОРМЕННАЯ КОМПЬЮТЕРНАЯ ПРОГРАММА ДЛЯ ПОЛИНОМИАЛЬНОГО РЕГРЕССИОННОГО АНАЛИЗА ДАННЫХ

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

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

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

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

вычисляет фактическое и теоретическое значение F-критерия Фишера. При расчете теоретического значения F-критерия Фишера программа использует функцию бета-распределения.

Также разработанное приложение при анализе данных позволяет прогнозировать значения зависимой переменной для значений регрессора, которые определяет пользователь.

Ключевые слова: регрессия, анализ данных, полином, метод наименьших квадратов.

S.D. TOCHILIN, V.O. RYBIN

Zaporozhye National Technical University

CROSS-PLATFORM COMPUTER PROGRAM FOR POLYNOMIAL REGRESSION DATA ANALYSIS

Polynomial regression analysis is widely used to construct mathematical dependencies from experimental statistics. Polynomial regression data analysis is performed, as a rule, using commercial computer programs that have a graphical user interface. However, these programs in many cases are not cross-platform.

Currently, one of the most popular programming languages is Java. It is cross-platform and has a free API, which allows to create programs for statistical processing of experimental data with a graphical user interface.

In this paper, the cross-platform computer program for polynomial regression data analysis was developed using the Java programming language. It has a graphical user interface and uses the least squares method for its operation. In this case, the Gauss method is used to determine the parameters of the regression model from a system of linear equations that are formed during the processing of statistical data. The program presents the results of data analysis in graphical and tabular form. In a graphic form the initial data and the corresponding regression dependence are represented. The tabular form displays the parameters of the regression model, as well as the analyzed data and the corresponding values of the approximating polynomial and regression residuals.

In addition, the program determines the parameters necessary for assessing the quality and significance of the polynomial regression model that was obtained during data processing. The developed application for assessing the quality of the model calculates the average approximation error and the coefficient of determination or index of determination, and to estimate its significance it calculates the actual and theoretical value of the Fisher F-test. When calculating the theoretical value of the Fisher F-test, the program uses the beta distribution function.

Also, the developed application, when analyzing data, allows to predict the values of the dependent variable for the regressor values that the user determines.

Keywords: regression, data analysis, polynomial, least squares method.

Постановка проблеми

Полiномiальний регресшний ан^з е найпоширешшим статистичним методом, який використовуеться для побудови математичних залежностей по експериментальним даним [1-3].

Полiномiальний регресшний аналiз виконуеться, як правило, за допомогою спещальних комерцшних комп'ютерних програм, яш мають графiчний штерфейс користувача (Graphical User Interface - GUI). Однак щ програми в багатьох випадках жорстко прив'язаш до певно! платформи.

У той час при проведенш регресшного аналiзу для вибору оптимально! моделi регреси ощнюють 11 яшсть та значимють [4, 5].

При цьому розробка кросплатформних комп'ютерних програм i3 GUI для полiномiального регресшного аналiзу даних, як визначають параметри моделi регреси, а також ощнюють 11 яшсть i значимють, е актуальною проблемою.

AH^i3 останшх дослвджень i публшацш

Якщо для величини Y, що випадковим чином залежить вiд величини X, отримаш m експериментальних точок (m пар спостережень): {Xj,Yj); (X2Y2); — (Xm,Ym), то для знаходження функционально! залежностi Y вiд X при полiномiальному регресiйному аналiзi використовують рiвняння багаточлена (полiному) Yr, яке мае вигляд:

Yr = f(X) = Co + C! • X + C2 • X2 +...+Cn • Xnn , (1)

де Co, Cj, C2 , ..., Cn - постiйнi коефiцiенти,

n - стутнь полiному.

Для визначення Co, Cj, C2, ..., Cn в багатьох випадках застосовують метод найменших квадратiв (МНК). Опис МНК з прикладами комп'ютерних програм, яш його реалiзують, наведено в [6-9].

Вщзначимо також, що для оцшки якосп моделi регреси використовують iндекс детермшаци (коефщент детермшаци при п =1) Я та середню помилку апроксимацп МЕ [4, 5]. У ввдповщносп з [4, 5] для полiномiально! регреси !х визначають за допомогою виразiв:

Т - Гп )2

Я2 = 1 - ^-, (2)

Т (У-У )

1=1

(У - уп )

100 (%), (3)

1 т

МЕ = - Т

т1=1

де У1 - експериментальнi значення У при X^, Уп - значення полiному (1) при Х1, У - середне для У1, У2 , ..., Ут.

2

Чим ближче величина Я до одинищ тим бiльш якiснiше модель регреси, у той час значення МЕ < 7 % також сввдчать про задовiльний вибiр моделi до вихщних даних [4].

Мгж тим, для оцiнки значимостi моделi регреси для даних iз т пар чисел, зютавляють фактичне значення F-критерiю Фiшера Р та теоретичне Ра при певному рiвнi значимосп а . Якщо Р бшьше Ра, модель регреси визнаеться значимою для цього рiвня значимосп, в протилежному випадку - не значимою. Фактичне F-спiввiдношення визначають у такий спосiб [4]:

2

Я т - п -1

р = *—--• (4)

(1 - Я2 ) п

Величина п в (4) характеризуе число ступешв свободи V1 для факторно! суми квадрапв, а (т - п -1) - число ступешв свободи V2 для залишково^' суми квадрапв [4].

Теоретичш значення Б-критерш можна розраховувати за допомогою функци бета-розпод^ [1012]:

/ х

{а,Ь) = -^ К1^ - У'1* , (5)

В(а,Ь) о

де вiдрiзок 0 < х < 1 на якому визначаеться 1х (а,Ь), а, Ь - параметри, В(а,Ь) - бета-функцiя Ейлера:

1

(а,Ь) =

о

В(а,Ь)= | Га-1(1 - Г)Ь-1Л. (6)

Теоретичне значення Ра, для рiвня значимосп а , при Vl i V2, визначають при використанш функцi! бета-розподiлу, яка у вщповвдносп з [12] мае вигляд:

де х мае значення [12]:

4 \^\ = 1 -а , (7)

х = ^0-. (8)

V2

Вiдзначимо також, що у наш час найбiльш поширеною мовою програмування, у вiдповiдностi з шдексом Т10ВЕ [13], е 1ауаТм. Вона кросплатформна та мае необхщш засоби для розробки прикладних програм iз вШ. Також 1ауа мае розвинений АР1, що вiльно розповсюджуеться, до якого входять як середовища розробки, так i рiзного роду пакети, якi розширюють функцiональнiсть додатшв.

Формулювання мети дослвдження

У данш робот була поставлена задача розробки за допомогою мови програмування Java кросплатформного додатка з GUI для полшом1ального регресивного анал1зу даних, який визначае параметри регресивно! модел^ ощнюе !! як1сть та значимють, а також представляе результати роботи в граф1чному та табличному виглядг

Викладення основного матерiалу дослщження

Для розв'язку поставлено! задач1 був створений Java-додаток ST_Regression 1з граф1чним штерфейсом користувача.

Для знаходження параметр1в модел1 регреси програма використовувала МНК. При цьому для визначення C0, Cj, C2, ..., Cn 1з системи лшшних р1внянь, що формувались при обробщ даних, використовувався метод Гаусса, який реал1зовувався на основ1 обчислювально! схеми единого под1лу [14]. Для ощнки якосп модел регреси додаток ST_Regression розраховував середню помилку апроксимацп та шдекс детермшацп (коефщент детермшацп при n =1), а для оцшки значимосп модел обчислював значення, як фактичного F-критерш Фшера F, так i теоретичного Fa при а = 0,05.

На початку роботи з програмою за допомогою меню «File» вихвдш експериментальш даш для рeгрeсiйного аналiзy завантажувалися з *.csv або *.txt файлiв i заповнювали таблицю «Data». При необхщносп рядки таблицi «Data» могли заповнюватися або доповнюватися з використанням вихвдних даних для X i Y , яш попередньо розмiщалися у полях вводу «X» та «Y or Yr», та кнопки «Input» (поля вводу «X» та «Y or Yr» використовуються i при прогнозуванш значень залежно! змшно! для значень регресора, як1 визначае користувач). Рядок, який видiлявся, можна було видалити за допомогою кнопки «Cut Row». Кнопка «Clear» застосовувалася для видалення yсiх рядк1в, як у таблищ «Data», так i у таблищ «Coefficients». Нeобхiдний стyпiнь n полiнома (1) для рeгрeсiйного аналiзy даних установлювався за допомогою списку, що розкриваеться, у межах ввд 1 до 6.

Запуск обробки даних здшснювався при натисканнi на кнопку «Calculate». При цьому програма для полiномiально! модeлi рeгрeсi! розраховувала коeфiцiенти Co, C}, C2 , ., Cn , середню помилку апроксимацп та iндeкс дeтeрмiнацil (коeфiцiент дeтeрмiнацi! при n =1), !х значення з'являлися в таблищ «Coefficients», а також в полях вводу «ME, %» i «RA2», вiдповiдно. Крiм того, для модeлi рeгрeсi!, що використовувалася при обробщ ввдповщних даних, обчислювалися та зютавлялися значення фактичного i теоретичного F-критерш Фiшeра. Результат цього зютавлення з'являвся у полi вводу «F ? F0.05». У той час значення полiнома (1) та залишшв рeгрeсi!, як1 визначалися програмою для вах X, iз вихщного набору даних, розмiщалися в таблищ «Data», а вихвдш данi та розрахована для них полiномiальна залежнють Yr = f (X) вiдображалися в графiчномy виглядi на панeлi додатка. Також, якщо в полi вводу «Х» знаходилося значення аргументу X, яке попередньо ввiв користувач, то програма визначала для нього значення функцп Yr = f(X) i помщала його в поле вводу «Y or Yr^».

Користувач програми за допомогою меню «File» мав можливють зберегти результати анатзу для парамeтрiв (C0, Cj, C2 , ..., Cn) рeгрeсiйноi' модeлi у файлах формату *.csv або *.txt. Крiм того, використовуючи меню «File», графщ який був отриманий при регресшному аналiзi даних, можна було скопшвати в буфер обмiнy або ввдправити на друк. Тим часом за допомогою меню «Tuning» при необхщносп настроювалися область вiдображeння та шкали осей графiка Yr = f(X), а також його орiентацiя. М1ж тим iнформацiя про створений Java-додаток та особливостях його роботи була доступна при використанш меню «Help».

Для тестування розроблено! програми ми одержали експериментальш даш для величини струму колектора Ik (Y] у мА) бiполярного транзистора при рiзних значениях струму бази IБ (X^ у мА) (транзистор працював у ключовому рeжимi в схeмi з спiльним eмiтeром). Вiкно програми ST_Regression при аналiзi цих даних зображене на рис. 1.

Висновки

Таким чином, у данш робоп був розроблений кросплатформний Java-додаток ST_Regression для полiномiального регресшного анатзу даних.

Комп'ютерна програма мае графiчний штерфейс користувача. При рeгрeсiйномy аналiзi даних вона використовуе метод найменших квадрапв i дозволяе прогнозувати значення залежно! змшно! для значень регресора, яш визначае користувач. Крiм того, представляе результати аналiзy у графiчномy та табличному вигляд^ а також розраховуе параметри необхвдш для оцiнки якосп та значимостi модeлi рeгрeсi!: коефщент детермшацп або iндeкс дeтeрмiнацi!, середню помилку апроксимацп, фактичне та теоретичне значення F-критeрiю Фiшeра.

Надалi передбачаеться модершзувати Java-додаток ST_Regression, зокрема, забезпечити можливють проведення рeгрeсiйного аналiзy даних, як при рiзних рiвнях значимости так i при використаннi експонентно! та логарифмiчно!' модeлi рeгрeсi!.

Рис. 1. BiKHO програми ST_Regression при регресшному ана. ibi даних

Список використаиоТ лiтератури

1. Омельченко А.В. Оценивание коэффициентов полиномиальной регрессии по совокупности реализаций / А.В. Омельченко, А.В. Федоров // Радиоэлектроника и информатика, 2009. - № 1 (44). - С.28-32.

2. Дрейпер Н. Прикладной регрессионный анализ / Н. Дрейпер, Г. Смит. - М.: Издательский дом «Вильямс», 2007. - 912 с.

3. Бараз В.Р. Использование MS Excel для анализа статистических данных : учеб. пособие / В. Р. Бараз, В. Ф. Пегашкин. - Нижний Тагил: НТИ (филиал) УрФУ, 2014. - 181 с.

4. Елисеева И.И. Эконометрика: учебник / И.И. Елисеева, С.В. Курышева, Т.В. Костеева и др. - М.: Финансы и статистика, 2007. - 576 с.

5. Сажин Ю.В., Иванова И.А. Эконометрика: учебник / Ю.В. Сажин, И.А. Иванова. - Саранск: Мордов. гос. ун-т. 2014. - 316 с.

6. Мудров А.Е. Численные методы для ПЭВМ на языках Бейсик, Фортран и Паскаль / А.Е. Мудров. - Томск: МП «РАСКО», 1991. - 272 с.

7. Гринчишин Я.Т. TURBO PASCAL: Чисельш методи в фiзицi та математищ: Навчальний поабник / Я.Т. Гринчишин. - Тернопшь, 1994. - 121 с.

8. Гайдышев И. Анализ и обработка данных: специальный справочник / И. Гайдышев. - СПб: Питер, 2001. - 752 с.

9. Аппроксимация функций полиномом методом наименьших квадратов [Електронний ресурс]. -Режим доступу: http://www.alexeypetrov.narod.rU/C/sqr_less_about.html (дата звернення: 07.05.2019).

10. Большов Л.Н., Смирнов Н.В. Таблицы математической статистики / Л.Н. Большов, Н.В. Смирнов. - М.: Наука, 1983. - 416 с.

11. Кобзарь А.И. Прикладная математическая статистика. Для инженеров и научных работников / А.И. Кобзарь. - М.: ФИЗМАТЛИТ, 2006. - 816 с.

12. Walck C. Hand-book on STATISTICAL DISTRIBUTIONS for experimentalists / С. Walck. Stockholm: University of Stockholm, 2000. - 204 p.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

13. TIOBE Index for May 2019. WEB-сайт [Электронный ресурс] / Режим доступа: http://www.tiobe.com/tiobe-index/ (дата звернення: 07.05.2019).

14. Копченова Н.В. Вычислительная математика в примерах и задачах / Н.В. Копченова, И.А. Марон. - М.: Наука, 1972. - 368 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.