SOFTWARE IMPLEMENTATION OF ALGORITHMS FOR CALCULATING PEARSON, SPEARMAN AND KENDALL CORRELATIONS IN C#

ПРОГРАМНА РЕАЛІЗАЦІЯ НА МОВІ C# АЛГОРИТМІВ ОБЧИСЛЕННЯ КОРЕЛЯЦІЇ ПІРСОНА, СПІРМЕНА І КЕНДАЛЛА

Автор(и)

  • Vitalii Bazurin Державний торговельно-економічний університет image/svg+xml https://orcid.org/0000-0002-6614-4889
  • Sofia Bazurina Глухівський міський центр позашкільної освіти, Україна https://orcid.org/0009-0004-5168-9992
  • Svitlana Kolesnyk Відокремлений структурний підрозділ «Глухівський агротехнічний фаховий коледж СНАУ», Україна https://orcid.org/0009-0005-9510-288X
  • Vyacheslav Kolesnyk Відокремлений структурний підрозділ «Глухівський агротехнічний фаховий коледж СНАУ» https://orcid.org/0009-0006-0245-2811
  • Nina Dulenko Відокремлений структурний підрозділ «Глухівський агротехнічний фаховий коледж СНАУ», Україна https://orcid.org/0009-0006-5151-9808

DOI:

https://doi.org/10.31110/fmo2026.v41i2-01

Ключові слова:

кореляція, алгоритм, Пірсон, Спірмен, Кендалл, компонентно-орієнтований підхід, прогармна бібліотека

Анотація

Формулювання проблеми. У наукових дослідженнях з соціології, освіти, фізики, хімії та інших наук використовуються методи кореляційного аналізу. За допомогою коефіцієнтів кореляції визначають існування зв’язку між двома і більше вибірками даних.

Використання коефіцієнтів кореляції надає можливість досліднику з’ясувати, чи існує зв’язок між двома наборами даних, а також характер цього зв’язку: сильний чи слабкий, прямий чи обернений. Завдяки методам кореляції дослідник має дієвий інструмент для підтвердження чи спростування гіпотези.

Важливе місце у застосуванні кореляційного аналізу на практиці відіграють засоби інформаційних технологій. Ці засоби надають можливість зменшити час обробки результатів наукових досліджень у кілька разів. Програмні засоби, які використовуються під час кореляційного аналізу, варіюються у широкому спектрі: до них належать і електронні таблиці MS Excel, і математичний пакет STATISTICA, і мова програмування R. Спільним недоліком зазначених засобів ІТ є те, що дослідник, який їх використовує, повинен мати певний рівень математичної підготовки (STATISTICA), або навички програмування (мова R), або виконувати введення даних вручну (MS Excel). Виникає суперечність між можливостями ІКТ для кореляційного аналізу і тим, як вони застосовуються зараз.

Матеріали і методи. Під час виконання дослідження ми використали такі методи: аналіз і синтез наукової літератури з кореляційного аналізу, теорії алгоритмів, об’єктно-орієнтованого програмування, основ наукових досліджень; порівняльний аналіз алгоритмів розрахунку коефіцієнтів кореляції Пірсона, Спірмена, Кендалла; алгоритмічний метод для побудови алгоритмів розрахунку кореляції; методи об'єктно-орієнтованого програмування для програмної розроблених алгоритмів; методи кореляції; тестуванння обчислювальної складності алгоритмів; тестування точності; тестування виняткових ситуацій (пропуск значень, різні розміри вибірок), тестування стабільності.

Результати. Реалізовано мовою C# алгоритми обчислення кореляції Пірсона, Спірмена і Кендалла. Під час розробки використано компонентно-орієнтований і об'єктно-орієнтований підходи у програмуванні. Алгоритми обчислення кореляції Пірсона, Спірмена і Кендалла представлені мовою C# у вигляді програмної бібліотеки у форматі DLL, яка складається з 5 класів. Розроблені класи і методи для обчислення кореляції Пірсона, Спірмена і Кендалла. Об’єктивною новизною є програмна реалізація алгоритму обчислення кореляції Кендалла для платформи .NET. Для розрахунку вказаних коефіцієнтів кореляції розроблено додаток CorrAnalyzer, до якого підключено створену програмну бібліотеку. Розроблені бібліотеку і додаток доцільно використовувати у педагогічних, психологічних, соціологічних дослідженнях для визначення зв’язку між двома вибірками.

Висновки. Методи кореляції застосовуються для визначення зв’язку між двома вибірками. Найбільш часто використовуються кореляції Пірсона, Спірмена і Кендалла. Коефіцієнти кореляції Пірсона, Спірмена і Кендалла відрізняються за принципом і алгоритмом розрахунку. На основі результатів тестування точності, обчислювальної складності і винятків визначено придатність розроблених методів для застосування під час обробки результатів експерименту. Для того, щоб створювана програмна бібліотека являла собою потужний інструмент для визначення зв’язку між вибірками, в ній реалізовані всі три методи кореляції. Бібліотеку для розрахунку кореляції реалізовано у вигляді компонента (файл DLL), який інтегровано у додаток CorrAnalyzer, написаний мовою C#. Додаток CorrAnalyzer призначений для визначення зв’язку між невеликими вибірками (до 1000 значень).

У перспективі розроблену програмну бібліотеку доцільно доповнити класами для розрахунку кореляції Метьюза і конкордації.

Завантажити

Дані для завантаження поки недоступні.

Посилання

Accord.NET Framework (n.d.). Measures.Correlation Method (Double[,]). URL: http://accord-framework.net/docs/html/M_Accord_Statistics_Measures_Correlation.htm

Arifin, W. N. (2018). A Web-based Sample Size Calculator for Reliability Studies. Education in medicine journal, 10(3), 67–76. https://doi.org/10.21315/eimj2018.10.3.8

Chen, J., Wang, G., & Giannakis, G. B. (2019). Graph multiview canonical correlation analysis. IEEE Transactions on Signal Processing, 67(11), 2826-2838. https://doi.org/10.1109/TSP.2019.2910475

Cicuttin, A., Morales, I. R., Crespo, M. L., Carrato, S., García, L. G., Molina, R. S., Valinoti, B., & Folla Kamdem, J. (2022). A Simplified Correlation Index for Fast Real-Time Pulse Shape Recognition, Sensors, 22(20), 7697. https://doi.org/10.3390/s22207697

Cleophas, T. J., & Zwinderman, A. H. (2018). Bayesian Pearson correlation analysis. In Modern Bayesian statistics in clinical research (pp. 111-118). Cham: Springer International Publishing. https://doi.org/10.1007/978-3-319-92747-3_11

Dakılır, D. (2024). FinnCorr: Financial Data Correlation Analysis Engine (Computer software). GitHub. URL: https://github.com/zelosleone/FinnCorr

Derevyanchuk, O. (2025). Methods of correlation and regression of educational data in the systematic analysis of the quality of training of teachers of vocational education. Pedagogical Academy: scientific notes, 23. https://doi.org/10.5281/zenodo.18004752

Franzece, M., & Iuliano, A. (2018). Correlation analysis. In Encyclopedia of bioinformatics and computational biology: ABC of bioinformatics (Vol. 1, pp. 706-721). Elsevier. https://doi.org/10.1016/B978-0-12-809633-8.20358-0

Gogtay, N. J., & Thatte, U. M. (2017). Principles of correlation analysis. Journal of the Association of Physicians of India, 65(3), 78-81. https://www.kem.edu/wp-content/uploads/2012/06/9-Principles_of_correlation-1.pdf

Janse, R. J., Hoekstra, T., Jager, K. J., Zoccali, C., Tripepi, G., Dekker, F. W., & Van Diepen, M. (2021). Conducting correlation analysis: important limitations and pitfalls. Clinical Kidney Journal, 14(11), 2332-2337. https://doi.org/10.1093/ckj/sfab085

Makowski, D., Ben-Shachar, M. S., Patil, I., & Lüdecke, D. (2020). Methods and algorithms for correlation analysis in R. Journal of Open Source Software, 5(51), 2306. https://doi.org/10.21105/joss.02306

MathNet.Numerics (n.d.). Correlation – Math.NET Numerics Documentation. URL: https://numerics.mathdotnet.com/api/MathNet.Numerics.Statistics/Correlation.htm#Pearson

MathNet.Numerics (n.d.). Correlation – Math.NET Numerics Documentation. URL: https://numerics.mathdotnet.com/api/MathNet.Numerics.Statistics/Correlation.htm#Spearman

Measures Methods. (2017). URL: http://accord-framework.net/docs/html/Methods_T_Accord_Statistics_Measures.htm

Mith0304. (2015). CorrelEstimator (Computer software). GitHub. URL: https://github.com/Mith0304/CorrelEstimator

Rayhan, M., Al, A., Md Nurnabe Sagor, Pranto Das, Md. Sabbir Ahmed, Abu Sadat, Abdul Hafiz Tamim, Emon, S., Asad, M. A., & Alam, M. K. (2025). An Open-Source Framework for Advanced Correlation Analysis: The KARL Lab Correlation Tool (Pro Edition). Zenodo. https://doi.org/10.5281/zenodo.17088075

Ruegg, C. (2025). Math.NET Numerics (Source code). GitHub. URL: https://github.com/mathnet/mathnet-numerics

Schober, P., & Vetter, T. R. (2020). Correlation analysis in medical research. Anesthesia & Analgesia, 130(2), 332. https://doi.org/10.1213/ANE.0000000000004578

Senthilnathan, S. (2019). Usefulness of correlation analysis. Available at SSRN 3416918. http://doi.org/10.2139/ssrn.3416918

StatisticFormula.Correlation (2025). URL: https://learn.microsoft.com/en-us/dotnet/api/system.web.ui.datavisualization.charting.statisticformula.correlation?view=netframework-4.8.1

Vallat, R. (2018). Pingouin: statistics in Python. J. Open Source Softw., 3(31), 1026. http://doi.org/10.21105/joss.01026

Winter, B. (2019). Statistics for linguists: An introduction using R. Routledge. URL: https://www.jeffreyheinz.net/classes/20F/materials/readings/Bodo2020-FrontMatter.pdf

Yadav, S. (2018). Correlation analysis in biological studies. Journal of the Practice of cardiovascular sciences, 4(2), 116-121. https://doi.org/10.4103/jpcs.jpcs_31_18

Yoo, J.-Ch., & Han, T.H. (2009). Fast Normalized Cross-Correlation. Circuits, Systems, and Signal Processing, 28(6), 819-843. https://doi.org/10.1007/s00034-009-9130-7

Завантаження

Опубліковано

30.04.2026

Як цитувати

Bazurin, V., Bazurina, S., Kolesnyk, S., Kolesnyk, V., & Dulenko, N. (2026). SOFTWARE IMPLEMENTATION OF ALGORITHMS FOR CALCULATING PEARSON, SPEARMAN AND KENDALL CORRELATIONS IN C#: ПРОГРАМНА РЕАЛІЗАЦІЯ НА МОВІ C# АЛГОРИТМІВ ОБЧИСЛЕННЯ КОРЕЛЯЦІЇ ПІРСОНА, СПІРМЕНА І КЕНДАЛЛА. Фізико-математична освіта, 41(2), 6-17. https://doi.org/10.31110/fmo2026.v41i2-01