УДК 004

Применение системы R для решения прикладных задач вычислительной математики

Забродин Андрей Владимирович – кандидат исторических наук, доцент кафедры «Информационные и вычислительные системы» Петербургского государственного университета путей сообщения императора Александра I

Аннотация: Представлен интегрированный подход к использованию системы R для решения задач обработки данных и математического моделирования в различных областях: статистическое моделирование, планирование экспериментов, машинное обучение и др. В условиях существующих санкций на коммерческие программные продукты (MATLAB, SPSS, MathCad), ограничение их доступности и высокие затраты на сопровождение в качестве альтернативы предлагается система R, обладающая высоким потенциалом внедрения новых образовательных технологий для педагогических работников. Рассмотрены не только отдельные компоненты языка, такие как анализ ключевых характеристик и использование пакетов для численных методов, но и их взаимосвязь и взаимодействие в едином методологическом фреймворке. Проведен системный анализ различных аспектов системы R, начиная от базовых возможностей и заканчивая конкретными примерами моделирования: адаптированными для информационных систем моделями Лотки – Вольтерра и SIR (Susceptible-Infectious-Recovered). 

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

Введение

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

Сущность R как открытого и свободного программного обеспечения дополняется множеством библиотек и пакетов, предоставляющих значительный арсенал методов статистического анализа, включая регрессию, кластерный анализ и бутстрэп-процедуры. Эти возможности делают систему R востребованным инструментом для работы с разнообразными наборами данных [1].

Важной составляющей системы R являются её графические функции, реализованные, например, через библиотеку ggplot2, применение которой позволяет создавать информативные и качественные графики, обеспечивая интегративный взгляд на структуру данных и распределение переменных.

Поддержка объектно-ориентированного программирования в системе R предполагает способность к структурированию кода, что, в свою очередь, облегчает поддержку и дальнейшее развитие программных проектов в области статистики и анализа данных.

Среда разработки RStudio представляет собой интеграцию удобных и интуитивно понятных инструментов, позволяющих эффективно управлять проектами, визуализировать данные и проводить отладку кода. Взаимодействие с языком разметки Markdown делает RStudio идеальной средой для создания структурированных отчетов и документации [2].

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

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

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

Численные методы активно применяются для анализа и обработки больших данных. Вычислительная математика помогает извлекать «смысл» (необходимую информацию) из огромных объемов информации, прогнозировать тенденции, выявлять закономерности и проводить статистические тесты для проверки гипотез.

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

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

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

Математические и статистические функции в R

Язык программирования R предоставляет значительный спектр разнообразных инструментов в области численных вычислений. При этом следует особо выделить различные специализированные пакеты и библиотеки, созданные для численного анализа, обработки данных и моделирования, но рамках данной статьи ограничимся рассмотрением всего нескольких ключевых библиотек R, предоставляющих средства для проведения исследований и численных экспериментов с высокой степенью ригоризма [5].

Пакеты и библиотеки R для работы с численными методами

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

Ниже приведен список некоторых популярных пакетов и библиотек R для работы с численными методами:

nleqslv: Пакет для решения нелинейных систем уравнений

install.packages("nleqslv")

library(nleqslv)

optim: Пакет для оптимизации функций

# Уже встроен в R, не требует установки

library(stats)

DEoptim: Пакет для глобальной оптимизации с использованием дифференциальной эволюции

install.packages("DEoptim")

library(DEoptim)

rootSolve: Пакет для решения систем обыкновенных дифференциальных уравнений

install.packages("rootSolve")

library(rootSolve)

ODE: Пакет для решения систем дифференциальных уравнений

install.packages("deSolve")

library(deSolve)

Matrix: Пакет для работы с разреженными матрицами и линейной алгеброй

install.packages("Matrix")

library(Matrix)

MASS: Пакет с различными статистическими и численными методами

# Уже встроен в R, не требует установки

library(MASS)

quadprog: Пакет для квадратичного программирования

install.packages("quadprog")

library(quadprog)

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

Для обработки и управления данными в научных исследованиях весьма полезны следующие инструменты:

  • Пакет dplyr – широкий набор функций для фильтрации, сортировки и группировки данных. Этот пакет входит в основной комплект системы R.
  • Пакет ggplot2 – для создания качественных и информативных графиков.
  • И в завершении стоит упомянуть следующие библиотеки:
  • Библиотека optim, обеспечивающая разнообразные методы оптимизации и входящая в стандартный набор R.
  • Пакет deSolve, предлагающий эффективные методы численного решения дифференциальных уравнений. Требует установки и рекомендуется для более глубокого исследования в области моделирования динамических систем.

Определенные пакеты, такие как dplyr и ggplot2, уже встроены в R, обеспечивая удобство использования, в то время как другие, например, deSolve, требуют дополнительной установки. Представленные примеры представляют всего лишь ограниченный набор, учитывая, что в настоящее время существует более 16 000 пакетов в системе R. При этом следует особо отметить, что для эффективной работы с численными методами в R рекомендуется внимательно изучить документацию каждого пакета, чтобы правильно использовать преимущества, предоставляемые этими инструментами.

Эксплорация функционала R для анализа данных и решения математических задач

Система R предоставляет богатые возможности для анализа данных и решения математических задач. В качестве примеров рассмотрим пять ключевых областей, включая чтение и обработку данных, вычисление статистик, построение графиков, решение уравнений, а также работу с матрицами, численные методы и оптимизацию функций. Каждый пример сопровождается кодом, что поможет пользователю более глубоко изучить особенности системы R в различных аспектах вычислительной математики [6, 7].

Анализ данных

Чтение и загрузка данных

# Чтение данных из CSV файла

if (file.exists("данные.csv")) {

  data <- read.csv("данные.csv")

} else {

  stop("Файл 'данные.csv' не найден.")

}

Основные статистики

# Вычисление среднего значения, медианы, стандартного отклонения и т.д.

# Замените "имя_столбца" на фактическое имя столбца в ваших данных

mean_value <- mean(data$имя_столбца)

median_value <- median(data$имя_столбца)

sd_value <- sd(data$имя_столбца)

Гистограммы и диаграммы

# Построение гистограммы для выбранного столбца

hist(data$имя_столбца, main="Гистограмма", xlab="Значения", ylab="Частота")

Боксплоты

# Построение боксплота для выбранного столбца

boxplot(data$имя_столбца, main="Боксплот", ylab="Значения")

Решение математических задач

Решение уравнений

# Решение уравнения x^2 - 4 = 0, где х – переменная

# Объект solution будет содержать корни уравнения в интервале (-10, 10)

solution <- uniroot(function(x) x^2 - 4, interval = c(-10, 10))

Работа с матрицами

# Создание матрицы

matrix_data <- matrix(c(1, 2, 3, 4), nrow=2, ncol=2)

# Умножение матриц

result_matrix <- matrix_data %*% matrix_data

Решение систем линейных уравнений

# Решение системы уравнений Ax = B

A <- matrix(c(2, 1, -1, 3), nrow=2, ncol=2)

B <- c(8, 3)

solution <- solve(A, B)

Работа с численными методами

# Вычисление определенного интеграла функции x^2 на интервале [0, 1]

integrate_result <- integrate(function(x) x^2, lower=0, upper=1)

Оптимизация функций

# Оптимизация функции x^2 на интервале [-5, 5]

optimization_result <- optimize(f=function(x) x^2, interval=c(-5, 5))

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

Симуляция и моделирование данных

Система R обеспечивает широкий арсенал инструментов для симуляции и моделирования данных, предоставляя исследователям и аналитикам преимущества в создании и анализе виртуальных данных. Этот функционал является основным среди инструментов для проведения проверки гипотез, оценки статистических методов и обучения моделей. Предлагаемые примеры, охватывающие генерацию случайных чисел, формирование временных рядов с учетом трендов и сезонности, моделирование данных на основе статистических распределений, а также построение линейных и нелинейных моделей, демонстрируют высокий уровень гибкости и функциональности R в контексте симуляции и моделирования, подчеркивая его значимость в практике исследований и анализа данных [8].

Генерация случайных данных

Генерация случайных чисел

# Генерация 100 случайных чисел из стандартного нормального распределения

random_data <- rnorm(100)

Генерация случайных выборок

# Генерация выборки из распределения Пуассона

poisson_data <- rpois(100, lambda=2)

Симуляция временных рядов

Создание временного ряда

# Создание временного ряда с трендом и сезонностью

time_series <- ts(data = c(1:100) + sin(1:100), start = 1, frequency = 1)

Добавление случайного шума

# Добавление случайного шума к временному ряду

noisy_time_series <- time_series + rnorm(length(time_series))

Моделирование данных с использованием статистических распределений

Моделирование данных с использованием распределения

# Моделирование данных с экспоненциальным распределением

modeled_data <- rexp(100, rate=0.1)

Фитинг данных

# Фитинг экспоненциального распределения к представленным данным

fit_result <- fitdistr(modeled_data, "exponential")

Моделирование линейных и нелинейных моделей

Линейная регрессия

# Линейная регрессия с одной независимой переменной

lm_model <- lm(response_variable ~ predictor_variable, data=my_data)

Нелинейная регрессия

# Нелинейная регрессия с использованием математической кривой (например, кривой Гаусса)

nls_model <- nls(response_variable ~ a * exp(-(x - b)^2 / (2 * c^2)), data=my_data)

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

Исследование инструментов моделирования в R

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

Интегрированный подход к моделированию в R

Предлагаемая к рассмотрению задача включает в себя использование четырех ключевых инструментов: генерации случайных данных, моделирования временных рядов, создания данных с использованием статистических распределений и построения нелинейной регрессии. При этом попытаемся не только визуализировать результаты, но и пошагово пояснить решение задачи, что сделает его доступным для широкого круга читателей, независимо от уровня экспертизы в области программирования и статистики [9, 10].

# Загрузка необходимых библиотек

library(ggplot2)

library(stats)

# Шаг 1: Генерация случайных данных: на первом этапе мы создаем случайные данные для дальнейшего использования в нашей модели. Это включает в себя генерацию случайных чисел из нормального распределения с использованием функции rnorm(100)

set.seed(123)

random_data <- rnorm(100)

# Шаг 2: Создание временного ряда с трендом и сезонностью: создаем временной ряд, добавляя к базовому ряду тренд, сезонность и случайный шум. Такой подход позволяет учесть различные факторы, влияющие на временные данные.

time_series <- ts(data = c(1:100) + sin(1:100) + random_data, start = 1, frequency = 1)

# Шаг 3: Моделирование данных с использованием статистического распределения: используем экспоненциальное распределение для создания модели данных. Это позволит нам учесть особенности распределения значений

modeled_data <- rexp(100, rate=0.1)

# Шаг 4: Построение нелинейной регрессии

# Предположим, что наши данные подчиняются кривой Гаусса: используя метод нелинейной регрессии (nls), мы подстраиваем параметры модели под данные

x <- seq(1, 100, by = 1)

y <- 3 * exp(-(x - 50)^2 / (2 * 15^2)) + rnorm(100, mean = 0, sd = 0.5)

nls_model <- nls(y ~ a * exp(-(x - b)^2 / (2 * c^2)), start = list(a = 3, b = 50, c = 15))

# Построение графика для визуализации результатов

ggplot() +

  geom_line(aes(x = 1:100, y = time_series), color = "blue", linetype = "solid", size = 1) +

  geom_line(aes(x = 1:100, y = modeled_data), color = "green", linetype = "dashed", size = 1) +

  geom_point(aes(x = x, y = y), color = "red", size = 2) +

  geom_smooth(method = "nls", formula = y ~ a * exp(-(x - b)^2 / (2 * c^2)), se = FALSE, color = "red") +

  labs(title = "Пример моделирования данных в R",

       x = "Наблюдения",

       y = "Значения") +

  theme_minimal()

Результаты решения задачи представлены на рисунке 1.

image001 

Рисунок 1.

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

Математическое моделирование: решение системы дифференциальных уравнений методами численного анализа

Рассмотрим более сложную задачу, связанную с численным решением системы обыкновенных дифференциальных уравнений (СОДУ). Для этого представим модель взаимодействия между двумя компонентами в информационной системе. Пусть х будет компонентом, который потребляет или использует информацию, а y – компонентом, который поставляет или предоставляет информацию.

Для реализации данной задачи мы можем использовать модель Лотки – Вольтерра [11], как одну из наиболее известных моделей «хищник-жертва». В этом контексте поставщики информации будут рассматриваться как «жертвы», а потребители – «хищники». Используема модель может быть описана следующей системой дифференциальных уравнений:

image003

где   image004    и image005 представляют скорости изменения популяций «хищников» и «жертв» по времени t;

α – коэффициент рождаемости «хищников» – потребителя информации;

β – коэффициент взаимодействия между «хищниками» и «жертвами» (отрицательный, так как уменьшает популяцию «жертв» при встрече с «хищником»);

γ – коэффициент смертности «жертв» – поставщика информации;

δ – коэффициент взаимодействия между «хищниками» и «жертвами» (положительный, так как увеличивает популяцию «хищников» при поедании «жертв»).

Ниже представлен соответствующий код на R.

# Установка и загрузка библиотеки

install.packages("deSolve")

library(deSolve)

# Задаем параметры

parameters <- c(alpha = 0.1, beta = 0.02, gamma = 0.1, delta = 0.01)

# Задаем начальные условия

initial_conditions <- c(x = 40, y = 9)

# Определение функции для системы дифференциальных уравнений

predator_prey_model <- function(time, state, parameters) {

  with(as.list(c(state, parameters)), {

    dx <- alpha * x - beta * x * y

    dy <- delta * x * y - gamma * y

    return(list(c(dx, dy)))

  })

}

# Временной интервал

time <- seq(0, 200, by = 1)

# Численное решение системы дифференциальных уравнений

solution <- ode(func = predator_prey_model, y = initial_conditions, parms = parameters, times = time)

# Визуализация результатов

matplot(solution[, 1], solution[, 2:3], type = "l", lty = 1, col = c("blue", "red"),

xlab = "Time", ylab = "Population", main = "Predator-Prey Model",

legend.text = c("Predators (x)", "Prey (y)"), lwd = 2)

legend("topright", legend = c("Predators (x)", "Prey (y)"), col = c("blue", "red"), lty = 1, lwd = 2)

Результат работы модуля представлен на рисунке 2.

image006

Рисунок 2.

В рассмотренном примере мы успешно применяем численные методы для решения системы дифференциальных уравнений, описывающей модель взаимодействия «хищник-жертва», с использованием библиотеки deSolve. На первом этапе пользователь задает параметры модели и начальные условия, после чего результаты визуализируются на графике, отражающем динамику популяций «хищников» и «жертв» в зависимости от времени. Рассмотренный пример демонстрирует, как с использованием R можно решить сложные задачи численного моделирования, включая системы дифференциальных уравнений, которым отдаются предпочтения в научных исследованиях.

Математическое моделирование распространения информации в сети: адаптация модели SIR в контексте численного анализа

В данном разделе мы рассмотрим более сложную задачу, связанную с математическим моделированием распространения информации в компьютерной сети. Для анализа этого процесса предлагается использовать модель распространения информации, адаптированную к известной модели SIR (Susceptible-Infectious-Recovered), применяемой в области эпидемиологии. Этот подход позволит нам эффективно описать динамику распространения информации в контексте компьютерных сетей [12-14].

Модель SIR в контексте компьютерной сети

Модель SIR обычно используется для описания процессов эпидемиологического распространения инфекции. Она включает в себя три основных категории: восприимчивые (Susceptible), зараженные (Infectious) и восстановившиеся (Recovered). В контексте нашего исследования эти категории будут интерпретироваться как пользователи сети, подверженные распространению информации, активно распространяющие информацию и тех, кто уже получил информацию.

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

Опишем модель следующей системой дифференциальных уравнений:

image007 

где    S – число подверженных распространению информации (Susceptible);

I – число зараженных (Infectious);

R – число восстановившихся (Recovered);

N – общее число узлов в сети;

φ – коэффициент передачи информации;

λ – коэффициент восстановления.

Следующий фрагмент содержит код на R для модели SIP:

# Установка и загрузка библиотеки

install.packages("deSolve")

library(deSolve)

# Задаем параметры

parameters <- c(beta = 0.02, gamma = 0.01)

# Задаем начальные условия

initial_conditions <- c(S = 990, I = 10, R = 0)

# Определение функции для системы дифференциальных уравнений

information_spread_model <- function(time, state, parameters) {

  with(as.list(c(state, parameters)), {

    dS <- -beta * S * I / (S + I + R)

    dI <- beta * S * I / (S + I + R) - gamma * I

    dR <- gamma * I

    return(list(c(dS, dI, dR)))

  })

}

# Временной интервал

time <- seq(0, 200, by = 1)

# Численное решение системы дифференциальных уравнений

solution <- ode(func = information_spread_model, y = initial_conditions, parms = parameters, times = time)

# Визуализация результатов

matplot(solution[, 1], solution[, 2:4], type = "l", lty = 1, col = c("blue", "red", "green"),

        xlab = "Time", ylab = "Population", main = "Information Spread Model",

        legend.text = c("Susceptible (S)", "Infectious (I)", "Recovered (R)"), lwd = 2)

legend("topright", legend = c("Susceptible (S)", "Infectious (I)", "Recovered (R)"),

       col = c("blue", "red", "green"), lty = 1, lwd = 2)

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

image008

Рисунок 3.

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

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

Заключение

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

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

Тем не менее, как и в случае любого инструмента, следует учитывать определенные ограничения в предопределяемых условиях [15].

Список литературы

  1. Зададаев, С. А. Математика на языке R : учебник / С. А. Зададаев. – Финансовый университет при Правительстве РФ. – Москва : Прометей, 2018. – 324 с. – Текст : непосредственный.
  2. Кабаков, Р. И. R в действии. Анализ и визуализация данных в программе R /
    Р. И. Кабаков. – Москва : ДМК Пресс, 2014. – 588 с. – Текст : непосредственный.
  3. Демидович, Б. П. Основы вычислительной математики : учебное пособие / Б. П. Демидович, И. А. Марон. – 8-е изд., стер. – Санкт-Петербург : Лань, 2011. – 672 с. – Текст : непосредственный.
  4. Копченова, Н. В. Вычислительная математика в примерах и задачах / Н. В. Копченова, И. А. Марон. – Санкт-Петербург : Лань, 2008. – 368 c. – Текст : непосредственный.
  5. Уикем, Х. Язык R в задачах науки о данных: импорт, подготовка, обработка, визуализация и моделирование данных / Х. Уикем, Г. Гроулмунд. – Санкт-Петербург : ООО «Диалектика», 2019. – 592 с. – Текст : непосредственный.
  6. Мacтицкий, C. Э. Статистический анализ и визуализация данных c помощью R /
    Э. Мacтицкий, В. K. Шитиков. – Москва : ДМК Пресс, 2015. – 496 с. – Текст : непосредственный.
  7. Шитиков, В. К. Рандомизация и бутстреп: статистический анализ в биологии и экологии с использованием R / В. K. Шитиков, Г.С. Розенберг. – Тольятти : Кассандра, 2013. – 314 с. – Текст : непосредственный.
  8. Орлова, И. В. Экономико-математическое моделирование: практическое пособие по решению задач в Excel и R / И. В. Орлова, М. Г. Бич. – 3-е изд., испр. и доп. – Москва : Вузовский учебник : ИНФРА-М, 2018. – 190 с. – Текст : непосредственный.
  9. Методы оптимальных решений. Практикум : учебное пособие / под ред.: В. А. Колемаева, В. И. Соловьева. – Москва : КНОРУС, 2017. – 194 с. – Текст : непосредственный.
  10. Гильванов, Р. Г. Технологии обработки информации : [электронный лабораторный практикум] / Р. Г. Гильванов, А. В. Забродин, С. Г. Свистунов. – Санкт-Петербург : ФГБОУ ВО ПГУПС, 2022. – 45 с. – 1 CD-ROM. – Систем. требования: Intel Pentium 1,6 GHz и более ; 256 Мб (RAM) ; Microsoft Windows XP и выше ; CD/DVD-ROM дисковод ; Adobe Acrobat – Загл. с титул. экрана. – Текст : электронный.
  11. Rahmani, M. An Analysis of Modified Lotka – Volterra Predator – Prey Model / M. Rahmani, H. Doust, S. Gholizade. – Текст : электронный // Emis.de : [site]. – 2014. – URL: http://www.emis.de/journals/gmn/yahoo_site_admin/assets/docs/1_gmn-5232-v25n2.42232344.pdf.
  12. Бейли, Н. Статистические методы в биологии / Н. Бейли. – Москва : Мир, 1963. – 272 с. – Текст : непосредственный.
  13. Лосева, А. Моделирование эпидемий: модель SIR / А. Лосева, М. Нездоймышапко. – Текст : электронный // ПОЛИТ.РУ : [сайт]. – URL: https://polit.ru/article/2020/05/06/sir/ (дата доступа: 30.01.2024).
  14. Леоненко, В. Н. Математическая эпидемиология : учебно-методическое пособие по выполнению лабораторных работ / В. Н. Леоненко ; Университет ИТМО. – Санкт-Петербург : Университет ИТМО, 2018. – 39 с. – Текст : непосредственный.
  15. Официальная документация R : R Documentation. – Текст : электронный // R-project : [website]. – URL: https://r-project.org (дата доступа: 02.02.2024).

Интересная статья? Поделись ей с другими: