{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "6fe6b865",
   "metadata": {},
   "source": [
    "# Поиск аномалий по данным о воспроизводстве экономических ресурсов сельскохозяйственных организаций\n",
    "\n",
    "В этом ноутбуке:\n",
    "1. Загружаются данные из CSV.\n",
    "2. Отбираются наблюдения **за 2011 год** и только по двум признакам:\n",
    "   - `Динамика_Посевных_Площадей`\n",
    "   - `Динамика_Основных_Средств`\n",
    "3. Решается задача поиска аномалий методом **Isolation Forest**.\n",
    "4. Рассчитываются показатели качества.\n",
    "5. Строятся графики и формулируются выводы.\n",
    "\n",
    "> Важное замечание: в исходном наборе данных **нет готовой разметки аномалий**.  \n",
    "> Поэтому для расчёта метрик ниже используется **суррогатная эталонная разметка** по правилу IQR (межквартильного размаха).  \n",
    "> Это позволяет оценить, насколько решение согласуется с робастным статистическим критерием, но **не является абсолютной истинной проверкой качества**.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "62dd785c",
   "metadata": {},
   "outputs": [],
   "source": [
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.ensemble import IsolationForest\n",
    "from sklearn.metrics import (\n",
    "    accuracy_score, precision_score, recall_score, f1_score,\n",
    "    confusion_matrix, roc_auc_score\n",
    ")\n",
    "\n",
    "plt.rcParams['figure.figsize'] = (10, 6)\n",
    "plt.rcParams['axes.grid'] = True\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dacdcb2b",
   "metadata": {},
   "source": [
    "## 1. Загрузка данных"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "07777ea0",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Размер исходного датафрейма: (497, 9)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Район</th>\n",
       "      <th>Год</th>\n",
       "      <th>Динамика_Количества_Работников</th>\n",
       "      <th>Динамика_Величина_КРС</th>\n",
       "      <th>Динамика_Мощности_Техники</th>\n",
       "      <th>Динамика_Количества_Техники</th>\n",
       "      <th>Динамика_Основных_Средств</th>\n",
       "      <th>Динамика_Посевных_Площадей</th>\n",
       "      <th>Динамика_Себестоимости_Произведенной_Продукции</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Арзамасский</td>\n",
       "      <td>2019</td>\n",
       "      <td>0.9648</td>\n",
       "      <td>0.8773</td>\n",
       "      <td>1.0907</td>\n",
       "      <td>1.0638</td>\n",
       "      <td>1.3537</td>\n",
       "      <td>1.0871</td>\n",
       "      <td>1.4476</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Балахнинский</td>\n",
       "      <td>2019</td>\n",
       "      <td>1.0125</td>\n",
       "      <td>0.9695</td>\n",
       "      <td>1.0091</td>\n",
       "      <td>0.9500</td>\n",
       "      <td>1.0919</td>\n",
       "      <td>1.3471</td>\n",
       "      <td>1.0623</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Богородский</td>\n",
       "      <td>2019</td>\n",
       "      <td>0.8421</td>\n",
       "      <td>0.9707</td>\n",
       "      <td>1.0060</td>\n",
       "      <td>0.9636</td>\n",
       "      <td>1.0791</td>\n",
       "      <td>0.7955</td>\n",
       "      <td>1.0837</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Большеболдинский</td>\n",
       "      <td>2019</td>\n",
       "      <td>0.7951</td>\n",
       "      <td>0.8774</td>\n",
       "      <td>0.8965</td>\n",
       "      <td>0.8611</td>\n",
       "      <td>0.9460</td>\n",
       "      <td>0.9489</td>\n",
       "      <td>0.7530</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Борский</td>\n",
       "      <td>2019</td>\n",
       "      <td>0.8389</td>\n",
       "      <td>0.7987</td>\n",
       "      <td>0.8097</td>\n",
       "      <td>1.0094</td>\n",
       "      <td>0.8950</td>\n",
       "      <td>0.8701</td>\n",
       "      <td>1.0847</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              Район   Год  Динамика_Количества_Работников  \\\n",
       "0       Арзамасский  2019                          0.9648   \n",
       "1      Балахнинский  2019                          1.0125   \n",
       "2       Богородский  2019                          0.8421   \n",
       "3  Большеболдинский  2019                          0.7951   \n",
       "4           Борский  2019                          0.8389   \n",
       "\n",
       "   Динамика_Величина_КРС  Динамика_Мощности_Техники  \\\n",
       "0                 0.8773                     1.0907   \n",
       "1                 0.9695                     1.0091   \n",
       "2                 0.9707                     1.0060   \n",
       "3                 0.8774                     0.8965   \n",
       "4                 0.7987                     0.8097   \n",
       "\n",
       "   Динамика_Количества_Техники  Динамика_Основных_Средств  \\\n",
       "0                       1.0638                     1.3537   \n",
       "1                       0.9500                     1.0919   \n",
       "2                       0.9636                     1.0791   \n",
       "3                       0.8611                     0.9460   \n",
       "4                       1.0094                     0.8950   \n",
       "\n",
       "   Динамика_Посевных_Площадей  Динамика_Себестоимости_Произведенной_Продукции  \n",
       "0                      1.0871                                          1.4476  \n",
       "1                      1.3471                                          1.0623  \n",
       "2                      0.7955                                          1.0837  \n",
       "3                      0.9489                                          0.7530  \n",
       "4                      0.8701                                          1.0847  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Список столбцов:\n",
      "- Район\n",
      "- Год\n",
      "- Динамика_Количества_Работников\n",
      "- Динамика_Величина_КРС\n",
      "- Динамика_Мощности_Техники\n",
      "- Динамика_Количества_Техники\n",
      "- Динамика_Основных_Средств\n",
      "- Динамика_Посевных_Площадей\n",
      "- Динамика_Себестоимости_Произведенной_Продукции\n"
     ]
    }
   ],
   "source": [
    "# Путь к загруженному файлу\n",
    "file_path = 'Reproduction_Agriculture_Resources.csv'\n",
    "\n",
    "# Файл в кодировке cp1251 и с разделителем ;\n",
    "df = pd.read_csv(file_path, encoding='cp1251', sep=';')\n",
    "\n",
    "print('Размер исходного датафрейма:', df.shape)\n",
    "display(df.head())\n",
    "print('\\nСписок столбцов:')\n",
    "for col in df.columns:\n",
    "    print('-', col)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aae49d94",
   "metadata": {},
   "source": [
    "## 2. Отбор данных за 2011 год"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "e7b5e290",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Количество наблюдений за 2011 год: 46\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Район</th>\n",
       "      <th>Год</th>\n",
       "      <th>Динамика_Основных_Средств</th>\n",
       "      <th>Динамика_Посевных_Площадей</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Ардатовский</td>\n",
       "      <td>2011</td>\n",
       "      <td>1.1448</td>\n",
       "      <td>0.8931</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Арзамасский</td>\n",
       "      <td>2011</td>\n",
       "      <td>1.1062</td>\n",
       "      <td>1.0902</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Балахнинский</td>\n",
       "      <td>2011</td>\n",
       "      <td>1.2155</td>\n",
       "      <td>1.0584</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Богородский</td>\n",
       "      <td>2011</td>\n",
       "      <td>1.5156</td>\n",
       "      <td>1.0213</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Большеболдинский</td>\n",
       "      <td>2011</td>\n",
       "      <td>0.4992</td>\n",
       "      <td>1.0515</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              Район   Год  Динамика_Основных_Средств  \\\n",
       "0       Ардатовский  2011                     1.1448   \n",
       "1       Арзамасский  2011                     1.1062   \n",
       "2      Балахнинский  2011                     1.2155   \n",
       "3       Богородский  2011                     1.5156   \n",
       "4  Большеболдинский  2011                     0.4992   \n",
       "\n",
       "   Динамика_Посевных_Площадей  \n",
       "0                      0.8931  \n",
       "1                      1.0902  \n",
       "2                      1.0584  \n",
       "3                      1.0213  \n",
       "4                      1.0515  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Динамика_Основных_Средств</th>\n",
       "      <th>Динамика_Посевных_Площадей</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>46.000000</td>\n",
       "      <td>46.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>1.114611</td>\n",
       "      <td>0.999267</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>0.182556</td>\n",
       "      <td>0.084411</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.499200</td>\n",
       "      <td>0.724400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>1.045375</td>\n",
       "      <td>0.970200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>1.108000</td>\n",
       "      <td>1.009550</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>1.211475</td>\n",
       "      <td>1.042550</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>1.515600</td>\n",
       "      <td>1.243800</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       Динамика_Основных_Средств  Динамика_Посевных_Площадей\n",
       "count                  46.000000                   46.000000\n",
       "mean                    1.114611                    0.999267\n",
       "std                     0.182556                    0.084411\n",
       "min                     0.499200                    0.724400\n",
       "25%                     1.045375                    0.970200\n",
       "50%                     1.108000                    1.009550\n",
       "75%                     1.211475                    1.042550\n",
       "max                     1.515600                    1.243800"
      ]
     },
     "execution_count": null,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "features = ['Динамика_Основных_Средств', 'Динамика_Посевных_Площадей']\n",
    "\n",
    "data_2011 = (\n",
    "    df.loc[df['Год'] == 2011, ['Район', 'Год'] + features]\n",
    "      .dropna()\n",
    "      .reset_index(drop=True)\n",
    ")\n",
    "\n",
    "print('Количество наблюдений за 2011 год:', len(data_2011))\n",
    "display(data_2011.head())\n",
    "data_2011[features].describe()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d47280fe",
   "metadata": {},
   "source": [
    "## 3. Формирование эталонной разметки для оценки качества\n",
    "\n",
    "Так как в данных нет столбца с пометкой `аномалия / не аномалия`, используем робастное статистическое правило **IQR**:\n",
    "- наблюдение считается аномальным, если хотя бы по одному признаку оно выходит за пределы:\n",
    "\n",
    "\\[\n",
    "[Q1 - 1.5 \\cdot IQR; \\; Q3 + 1.5 \\cdot IQR]\n",
    "\\]\n",
    "\n",
    "Это не «истинная» разметка, а удобный ориентир для сравнения.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "04e69a17",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Границы IQR для динамики основных средств:\n",
      "  [0.7962; 1.4606]\n",
      "Границы IQR для динамики посевных площадей:\n",
      "  [0.8617; 1.1511]\n",
      "\n",
      "Количество аномалий по IQR: 8\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Район</th>\n",
       "      <th>Динамика_Основных_Средств</th>\n",
       "      <th>Динамика_Посевных_Площадей</th>\n",
       "      <th>anomaly_iqr</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Богородский</td>\n",
       "      <td>1.5156</td>\n",
       "      <td>1.0213</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Большеболдинский</td>\n",
       "      <td>0.4992</td>\n",
       "      <td>1.0515</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>Ветлужский</td>\n",
       "      <td>0.6658</td>\n",
       "      <td>0.8936</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>Воротынский</td>\n",
       "      <td>1.0093</td>\n",
       "      <td>0.7813</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>Краснооктябрьский</td>\n",
       "      <td>0.9371</td>\n",
       "      <td>0.8394</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>Сергачский</td>\n",
       "      <td>1.1355</td>\n",
       "      <td>1.2438</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40</th>\n",
       "      <td>Тоншаевский</td>\n",
       "      <td>0.8024</td>\n",
       "      <td>0.7244</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43</th>\n",
       "      <td>Шарангский</td>\n",
       "      <td>1.4707</td>\n",
       "      <td>1.0455</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                Район  Динамика_Основных_Средств  Динамика_Посевных_Площадей  \\\n",
       "3         Богородский                     1.5156                      1.0213   \n",
       "4    Большеболдинский                     0.4992                      1.0515   \n",
       "11         Ветлужский                     0.6658                      0.8936   \n",
       "17        Воротынский                     1.0093                      0.7813   \n",
       "23  Краснооктябрьский                     0.9371                      0.8394   \n",
       "34         Сергачский                     1.1355                      1.2438   \n",
       "40        Тоншаевский                     0.8024                      0.7244   \n",
       "43         Шарангский                     1.4707                      1.0455   \n",
       "\n",
       "    anomaly_iqr  \n",
       "3             1  \n",
       "4             1  \n",
       "11            1  \n",
       "17            1  \n",
       "23            1  \n",
       "34            1  \n",
       "40            1  \n",
       "43            1  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def iqr_outliers(series: pd.Series):\n",
    "    q1 = series.quantile(0.25)\n",
    "    q3 = series.quantile(0.75)\n",
    "    iqr = q3 - q1\n",
    "    lower = q1 - 1.5 * iqr\n",
    "    upper = q3 + 1.5 * iqr\n",
    "    mask = (series < lower) | (series > upper)\n",
    "    return mask, lower, upper\n",
    "\n",
    "mask_assets, low_assets, high_assets = iqr_outliers(data_2011['Динамика_Основных_Средств'])\n",
    "mask_area, low_area, high_area = iqr_outliers(data_2011['Динамика_Посевных_Площадей'])\n",
    "\n",
    "data_2011['anomaly_iqr'] = ((mask_assets) | (mask_area)).astype(int)\n",
    "\n",
    "print('Границы IQR для динамики основных средств:')\n",
    "print(f'  [{low_assets:.4f}; {high_assets:.4f}]')\n",
    "print('Границы IQR для динамики посевных площадей:')\n",
    "print(f'  [{low_area:.4f}; {high_area:.4f}]')\n",
    "\n",
    "print('\\nКоличество аномалий по IQR:', data_2011['anomaly_iqr'].sum())\n",
    "display(data_2011.loc[data_2011['anomaly_iqr'] == 1, ['Район'] + features + ['anomaly_iqr']])\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ca7edf35",
   "metadata": {},
   "source": [
    "## 4. Поиск аномалий методом Isolation Forest\n",
    "\n",
    "Поскольку признаки имеют разные масштабы, предварительно выполним стандартизацию.  \n",
    "Параметр `contamination` зададим равным доле аномалий по IQR, чтобы сравнение было корректнее.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "db884d92",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Район</th>\n",
       "      <th>Динамика_Основных_Средств</th>\n",
       "      <th>Динамика_Посевных_Площадей</th>\n",
       "      <th>anomaly_iqr</th>\n",
       "      <th>anomaly_iforest</th>\n",
       "      <th>anomaly_score</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>40</th>\n",
       "      <td>Тоншаевский</td>\n",
       "      <td>0.8024</td>\n",
       "      <td>0.7244</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.176279</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Большеболдинский</td>\n",
       "      <td>0.4992</td>\n",
       "      <td>1.0515</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.165530</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>Сергачский</td>\n",
       "      <td>1.1355</td>\n",
       "      <td>1.2438</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.136151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>Ветлужский</td>\n",
       "      <td>0.6658</td>\n",
       "      <td>0.8936</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.115922</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>Воротынский</td>\n",
       "      <td>1.0093</td>\n",
       "      <td>0.7813</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.076807</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>Краснооктябрьский</td>\n",
       "      <td>0.9371</td>\n",
       "      <td>0.8394</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.046681</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Богородский</td>\n",
       "      <td>1.5156</td>\n",
       "      <td>1.0213</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.040692</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43</th>\n",
       "      <td>Шарангский</td>\n",
       "      <td>1.4707</td>\n",
       "      <td>1.0455</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.003649</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>Лукояновский</td>\n",
       "      <td>1.4531</td>\n",
       "      <td>0.9839</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>-0.000768</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>Кстовский</td>\n",
       "      <td>0.9830</td>\n",
       "      <td>1.1047</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>-0.008076</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>г.о.г.Выкса</td>\n",
       "      <td>1.2919</td>\n",
       "      <td>1.0861</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>-0.022812</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Ардатовский</td>\n",
       "      <td>1.1448</td>\n",
       "      <td>0.8931</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>-0.031811</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>Ковернинский</td>\n",
       "      <td>1.3624</td>\n",
       "      <td>0.9754</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>-0.050767</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44</th>\n",
       "      <td>Шатковский</td>\n",
       "      <td>0.9890</td>\n",
       "      <td>0.9144</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>-0.059990</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>Первомайский</td>\n",
       "      <td>1.0161</td>\n",
       "      <td>1.0852</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>-0.068912</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                Район  Динамика_Основных_Средств  Динамика_Посевных_Площадей  \\\n",
       "40        Тоншаевский                     0.8024                      0.7244   \n",
       "4    Большеболдинский                     0.4992                      1.0515   \n",
       "34         Сергачский                     1.1355                      1.2438   \n",
       "11         Ветлужский                     0.6658                      0.8936   \n",
       "17        Воротынский                     1.0093                      0.7813   \n",
       "23  Краснооктябрьский                     0.9371                      0.8394   \n",
       "3         Богородский                     1.5156                      1.0213   \n",
       "43         Шарангский                     1.4707                      1.0455   \n",
       "26       Лукояновский                     1.4531                      0.9839   \n",
       "24          Кстовский                     0.9830                      1.1047   \n",
       "14        г.о.г.Выкса                     1.2919                      1.0861   \n",
       "0         Ардатовский                     1.1448                      0.8931   \n",
       "21       Ковернинский                     1.3624                      0.9754   \n",
       "44         Шатковский                     0.9890                      0.9144   \n",
       "30       Первомайский                     1.0161                      1.0852   \n",
       "\n",
       "    anomaly_iqr  anomaly_iforest  anomaly_score  \n",
       "40            1                1       0.176279  \n",
       "4             1                1       0.165530  \n",
       "34            1                1       0.136151  \n",
       "11            1                1       0.115922  \n",
       "17            1                1       0.076807  \n",
       "23            1                1       0.046681  \n",
       "3             1                1       0.040692  \n",
       "43            1                1       0.003649  \n",
       "26            0                0      -0.000768  \n",
       "24            0                0      -0.008076  \n",
       "14            0                0      -0.022812  \n",
       "0             0                0      -0.031811  \n",
       "21            0                0      -0.050767  \n",
       "44            0                0      -0.059990  \n",
       "30            0                0      -0.068912  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "X = data_2011[features].copy()\n",
    "\n",
    "scaler = StandardScaler()\n",
    "X_scaled = scaler.fit_transform(X)\n",
    "\n",
    "contamination = data_2011['anomaly_iqr'].mean()\n",
    "\n",
    "model = IsolationForest(\n",
    "    n_estimators=300,\n",
    "    contamination=contamination,\n",
    "    random_state=42\n",
    ")\n",
    "\n",
    "model.fit(X_scaled)\n",
    "\n",
    "# В sklearn: -1 = аномалия, 1 = норма\n",
    "data_2011['anomaly_iforest'] = (model.predict(X_scaled) == -1).astype(int)\n",
    "\n",
    "# Чем больше score, тем \"аномальнее\" объект\n",
    "data_2011['anomaly_score'] = -model.decision_function(X_scaled)\n",
    "\n",
    "display(data_2011[['Район'] + features + ['anomaly_iqr', 'anomaly_iforest', 'anomaly_score']]\n",
    "        .sort_values('anomaly_score', ascending=False)\n",
    "        .head(15))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "07cd5983",
   "metadata": {},
   "source": [
    "## 5. Метрики качества"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "57626593",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Метрика</th>\n",
       "      <th>Значение</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Accuracy</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Precision</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Recall</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>F1-score</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>ROC-AUC</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     Метрика  Значение\n",
       "0   Accuracy       1.0\n",
       "1  Precision       1.0\n",
       "2     Recall       1.0\n",
       "3   F1-score       1.0\n",
       "4    ROC-AUC       1.0"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Матрица ошибок:\n",
      "[[38  0]\n",
      " [ 0  8]]\n"
     ]
    }
   ],
   "source": [
    "y_true = data_2011['anomaly_iqr']\n",
    "y_pred = data_2011['anomaly_iforest']\n",
    "y_score = data_2011['anomaly_score']\n",
    "\n",
    "metrics = {\n",
    "    'Accuracy': accuracy_score(y_true, y_pred),\n",
    "    'Precision': precision_score(y_true, y_pred, zero_division=0),\n",
    "    'Recall': recall_score(y_true, y_pred, zero_division=0),\n",
    "    'F1-score': f1_score(y_true, y_pred, zero_division=0),\n",
    "    'ROC-AUC': roc_auc_score(y_true, y_score),\n",
    "}\n",
    "\n",
    "metrics_df = pd.DataFrame({\n",
    "    'Метрика': list(metrics.keys()),\n",
    "    'Значение': list(metrics.values())\n",
    "})\n",
    "display(metrics_df)\n",
    "\n",
    "cm = confusion_matrix(y_true, y_pred)\n",
    "print('Матрица ошибок:')\n",
    "print(cm)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "241b80d0",
   "metadata": {},
   "source": [
    "## 6. Визуализация результатов"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "55d35409",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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9PR07Nu3D71798bAgQPzPN566y2kpKTg+++/L/axe/Xqhbt372LXrl2GbTqdDqtWrYKDgwO6dOli8nmvvvoqrly5gkGDBuU7FFQqlebpQVu1apXJ+ZE7d+4EAHTt2rXQmFNSUrB06VJMnTq10J7G06dP47vvvsOHH35Y4h6pnAQ4Z3inVCqFIAhG1xMdHZ1nqY/83L17F88//zwkEgl++eUXVK9e3WS7p556Cg0bNsT69euNzrV27VoIgpCn6E950atXL/z+++84ffq0YZtarcb69evh7e2Nxo0bG7YfOnQIjx8/Rr9+/awRKhERFRN7DomIrOT7779HSkoK+vbta3L/M888g+rVq2Pbtm3F7h2bMGECvvzyS4wePRrnz5+Ht7c39uzZg5MnT2LlypVGlUpz69GjBx48eFDgHMHevXtj69atcHJyQuPGjXH69GkcPnzYUIkSyF7uYMGCBdi4cSOGDh1qWMy9IBcuXICbmxveeeedQtseOnQI3bp1y9ODWpgNGzbg+PHjaNmyJRwdHXH16lVs2LABNWvWxLPPPgsguxprcHAwevTogZdffhn379/HmjVr4OfnhytXrhR6jh49euDWrVt455138Ntvv+G3334z7PPw8EC3bt0MPy9fvhx9+/bF888/j6FDh+Kvv/7C6tWrMW7cuDy9rUuWLAEA/P333wCArVu3Go49b948Q7srV64YvlCIjIzE48ePDc8NCAhAnz59ivWaPWn27NnYsWMHevbsicmTJ8PFxQVff/01oqKisHfvXkNP9a5duzBjxgwoFAqkp6cbrZP4+PFjZGVl4cCBA0bLpxARkZWJRERkFX369BGVSqWoVqvzbTN69GhRLpeLCQkJYlRUlAhAXL58eZ52Tz31lNilSxejbffu3RPHjBkjurm5iTY2NmLTpk3FzZs3G7Up6Jj57X/06JHhuA4ODmL37t3F69evi15eXuKoUaNEURTFkydPin5+fuLChQtFjUZj8pi5Y+nSpYsIQFyxYoVR2wULFohP/lcFQBQEQTx//rzR9i5duuR5DZ507NgxsVOnTqKzs7OoUChEb29vcfz48WJUVJRRu02bNon+/v6iQqEQGzZsKG7evNlkLKYAyPdhKr79+/eLzZs3FxUKhVi7dm1x3rx5YmZmZrGOm9vmzZvzbZfz/uSnsPshx82bN8WBAweKzs7OolKp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i7CwMHTr1g1yudza4VA5xfuEior3ChUF7xMqKt4rlUdycjLc3Nzw+PFj5gaooD2HO3fuxLhx47B79+4CE0MAUCgUUCgUebbL5XL+Y64A+D5RUfA+oaLivUJFwfuEior3SsXH989YhVvncMeOHRgzZgx27NiBF154wdrhEBERERERVQpW7TlMTU1FZGSk4eeoqChcunQJLi4uqFu3LubMmYM7d+5gy5YtALKHko4aNQqfffYZ2rZti7t37wIAbG1t4eTkZJVrICIiIiIiqgys2nP4xx9/oEWLFoZlKKZNm4YWLVrgvffeAwDEx8cjNjbW0H79+vXQ6XR48803UbNmTcPj7bfftkr8RERERERElYVVew4DAwNRUD2ckJAQo5/Dw8NLNyAiIiIiIqIqqsLNOSQiIiIiIiLLY3JIRERERERETA6JiIiIiIiIySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySERERERERGBySEREREREREBkFk7ACIiouKITlDj1M1EpGXqYGcjQ3tfV3i72Vs7LCIiogqPySEREVUIcUnpCA6LwNmoh8jQ6iEAEAGsPSbBMz6umNqtPjydba0dJhERUYXF5JCIiMq9uKR0TNpxETGJaqgUcnio5BAEAaIoQq3JwtGI+7iVoMaqYS2YIBIREZmJcw6JiKjcCw6LQEyiGu4qJRyUMgiCAAAQBAEOShncVUrEJKqxIuyGlSMlIiKquJgcEhFRuRadoMbZqIdQKeSQSgSTbaQSAQ4KGc5EJSI6QV3GERIREVUOTA6JiKhcO3UzERlaPewV0gLbOShkyNDqcfpWYhlFRkREVLkwOSQionItLVMHATAMJc2PIAgQAKg1ujKJi4iIqLKxanJ4/Phx9OnTB56enhAEAQcOHCiwfXx8PF5++WXUr18fEokEU6ZMKZM4iYjIeuxsZBABiKJYYDtRFCECsFew1hoREZE5zPofdNq0aQXuDw4OLtJx1Go1AgIC8Oqrr+LFF18stL1Go0H16tUxb948rFixokjnICKiiq29ryvWHpNArcmCgzL//7ZSNToo5RK093Utw+iIiIgqjyInh6GhoXjuuedgY2ODlStXQqVSoVWrVnm+yS1s2E9uPXv2RM+ePYvc3tvbG5999hkA4Kuvviry84iIqOLydrNHWx8XhEc8gK2N1GRRmiy9iFSNDkEN3OHlam+FKImIiCq+IieH33zzDZYuXYqTJ09iw4YNeO+99yCTyfDpp5+iadOmpRljiWg0Gmg0GsPPycnJAACtVgutVmutsKgQOe8N3yMqCO+TquPtIF/cTkxF7MM0OChksLeRQRAAUQTUmTqkanTwc7PD5KB6Ju8H3itUFLxPqKh4r1QefA+NCWJhkzj+LysrC3Z2doiNjYWHhwfS0tLw0UcfYcWKFRgyZAiWLFkCDw8P8wMRBOzfvx/9+/cvUvvAwEA0b94cK1euLLDdwoUL8f777+fZvn37dtjZ2ZkRKRERERERVQZpaWl4+eWX8fjxYzg6Olo7HKsrcs/h6dOnoVQq4eLiAgCws7PD+++/j4kTJ2Lu3LmoX78+pk+fjpkzZ8LW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t29bKi6iSk+v1+O7775Deno6mjdvjrt376Jbt254/fXX8eDBAxw4cAALFizAr7/+iqeffhqpqalITU3Fu+++i+HDhxt+fumll4yOuXPnTqSmpuKjjz4ybB87diy2bNkCURQBABkZGdi5cydeffVVAMCaNWugVCoxfvx4oxjv37+PHj16YNmyZejRowcA4OLFi+jXrx/eeecdPHjwANevX0dQUFCe6/voo4+wZ88eHDp0CNWqVcuz/+TJkzh9+nS+r09UVBS++eYbzjekQnm72WNYm7oY16kehrWpCy9Xe2uHREREVCGZlRzqdDp8++23eO6559C5c2dIpVJcunSJc4OIimDOnDlwdnaGvb09XnzxRcybNw/u7u7YunUrOnfujMGDB0MqlaJJkyYYM2YMtm/fXuRjazQa2NjY5Nnes2dPaDQaHDt2DACwf/9+1K5dG08//TQAQCKR4JtvvsHFixcxa9YsAEBKSgp69eqFwYMH4+WXXzYca/369Rg6dCheeuklyOVyODk54ZlnnjE632effYZPPvkEhw8fhpubW554RFHE1KlT8cEHH+R7LTNnzsScOXNMXg8RERERWZ5ZyWGtWrUwY8YMdOzYEd9//z0GDx6M5ORkXLlyBVeuXLF0jESVyrJly5CUlIT09HRERETg66+/xpdffono6GiEhobC2dnZ8Pj8888RHx9fpOPq9Xo8evQILi4uefZJpVK88sorCAkJAZA9/DOn1zBHTEwMbt++jZ9++gm///47li1bBrlcjrCwMOj1eqN2/v7++cYRERGBzz77DAqFAhcuXDDZ5ptvvoGTkxN69+5tcv+JEydw9epVTJw4sbDLJiIiIiILMSs5fPDgAW7fvo1Fixbh6aefRosWLdC8eXM0b94cLVq0KPbx1qxZA29vbyiVSrRt2xa///57vm21Wi0WLVoEX19fKJVKBAQEGM2FIqpI/Pz80KtXLxw8eBB16tTBgAEDkJSUZHikpKQgNDS0SMe6efMmdDpdvonbq6++ir179yIiIgLHjh3DiBEjDPtEUcTYsWMxb948hIWFoVq1anjhhRdw8uRJ2NraGs0T9PLyQmRkZL5x2NnZ4fDhw9i4cSPGjx+Phw8fGu1PS0vDvHnzEBwcbPL5oihiypQp+OSTTyCTcfFyIiIiorJiVnIYFRVleNy6dQu3bt0y+rk4du3ahWnT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OnfunO/hMAkJCWrTpo1GjBihyMhISdK5c+eUmpqqL774QlWrVlVqaqpSU1Mt4Wr48OFq1aqVkpKSlJqaqgcffNCyv7S0NG3YsEHz5s3T+fPnFRUVpfbt21vdgrts2TINHDhQSUlJGjJkiLp06aKkpKSbnrO91+utt97SqlWr9NVXX6l8+fL52rdu3apt27YVeJwjR47o448/5rZSACijCIcAgGIzdepUffPNN7rvvvs0b968fO0jRoxQSEiIzGazXn/9dS1btkw5OTmSpMjISPn5+cnV1VUvv/yycnJytHfvXknS/Pnz1atXLz366KNydXW1zLTZY/369apYsaKef/55ubq6qmXLlurdu7eWLFkiKTccvvDCC6pXr548PDw0adIkHT9+XNu3b7fs48yZM2rdurV69uypZ599tlDXJDs723KO1+vTp49atWolFxcXDRw4UHfffbdWr15taX/44YfVuXNnubi4aPDgwQoMDNS6detuekx7rtesWbP09ttv6+uvv1ZAQEC+fRiGoeHDh2vSpEkFHufll1/WqFGj5ObmdtOaAAClD+EQAFBsPD09FRcXp6VLl2ru3LmW2bk8YWFhVt9nZGTo7NmzysnJ0ejRo1WrVi35+vrKbDYrOTlZ586dk5R7O2etWrUKPO4vv/wis9ls+frkk08sbSdOnFB4eLhV/+rVq+vEiRM2293d3RUSEmJpl6Rhw4apQoUK2rRpk7Kzs+2+HnPmzNHWrVvl4eEhs9lsdVuou7u7qlevXmBdedfoWmFhYTp58qRledSoUTKbzapUqZI6deqk48ePS7r59Tpw4IBmzZold3d37dq1y2afjz/+WH5+furUqZPN9i1btmjfvn0aPHhwgccBAJRuhEMAQLF5/vnnVaVKFd11111644031L9/f6WlpVnajx49avn+2LFjcnNzU8WKFbVs2TItW7ZM69evV3JyspKSkuTn5yfDMCTlhqKDBw8WeNx69eopKSnJ8tWrVy9LW5UqVSyfl8sTHx+vKlWq2GzPyMhQQkKCpV2SnnnmGX377bdycnLSlClT7L4e999/v2rVqqXo6GglJSWpRYsWlrbw8PAb1iVZXy8p95pVrlzZsjx58mQlJSUpPj5eHh4eevXVVyXd/Hp5eXnp66+/1oIFCxQVFaULFy5YtV++fFljxozR9OnTbW5vGIaGDRumt99+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KleunCIiIhQXF5fvOOHh4flmwK89r5ycHE2ZMkU1a9aUu7u7qlatqjfffNNyDQr6iouLs1zLvC9/f391795d58+fL/C8AQC3HuEQAIpRenq6JMnd3d3ubdLS0jR27Fh5e3sX+nhpaWmKjo7Wjh07FBsbKycnJz3yyCPKycmx6ufu7q41a9ZYlt9//31Vrlz5hvueOHGiJeza8vvvv6tdu3YaM2aMnn76act6JycnvfPOO/rtt9+0ZMkSbdq0SSNGjChwPzk5OeratasuXLigb775Rhs3btThw4fVs2dPS5/169frkUceUYcOHbR7927FxsaqSZMmN6z/eiNGjNDq1au1ZMkS7dq1SzVr1lS7du104cIFq34HDhzQyZMn9fHHH2vFihVatGhRoY5jr1atWmnYsGHq27evkpOTtXv3bo0dO1YLFixQYGCgzW327Nmj1q1bq27dutq2bZu+++47de7cWdnZ2ZY+S5YskYuLi7Zv365Zs2Zp+vTpVuF96NCh2rZtmz755BPt3btXPXr0UPv27fXnn3/mO95rr71mmQG/3qhRo/Svf/1LY8eO1b59+7Rs2TJL3Xnb5G137Ux6s2bNLPv4+uuvderUKa1fv17bt2/XlClTinYxAQBF4uLoAgDgdpYXNHx8fOzeZsqUKapbt+4Ng1hBHn30UavlDz74QBUrVtS+fft07733WtY/9dRTiomJUa9evXT58mX9+9//VlRUlJYvX25zv3/88Yc++OADRUdH65133snXfvToUbVt21aDBg3SP//5T6u262c/33jjDQ0ePFjvvfeezWPFxsbql19+0ZEjRxQaGipJ+vDDD3XPPffop59+0gMPPKA333xTvXr10sSJEy3bNWjQ4MYX5xppaWmaO3euFi9erH/84x+SpJiYGG3cuFELFy7Uyy+/bOlbqVIlmc1mpaWlyc3NzebM763yxhtvaOPGjRo0aJB+/fVX9e/fX126dCmw/5QpU9S4cWOra3nPPfdY9QkNDdWMGTNkMpl011136ZdfftGMGTMUFRWlY8eOadGiRTp27JhCQkIkSf/85z/15ZdfatGiRZo0aZJlP+np6fL391dQUFC+Oi5duqRZs2Zp9uzZ6t+/vySpRo0aatGihSTl26ag/eTNsEuSp6dnsV5rAEB+zBwCQDE6efKkJCk4ONiu/gkJCZo+fbqmTZtms33kyJHy9va2fC1dutSq/c8//9QTTzyh6tWry9fX13Kb6LFjx6z6denSRfv379fBgwf1ySefqGXLlgXOTkm5s2zPPPOMqlevnq8tKSlJbdq00YkTJ9SuXbt87V9//bVat26typUry8fHR3379tX58+d1+fJlm8fav3+/QkNDLcFQkurWrSuz2az9+/dL+t+M2Y3c6FodOnRImZmZat68uWWdq6urmjRpYjlGnipVqqhcuXKqVauWOnTooCeeeMKqvVmzZlbHuf5aS9ITTzwhb29vBQcHq2PHjtq3b5/Nmt3c3LR06VKtXr1aV69e1YwZM254jvZch7/97W8ymUyW5aZNm+rPP/9Udna2fvnlF2VnZ6t27dpW5/DNN99Y3Y4s5f6iw9fX1+Yx9u/fr/T09JvWcjN51zI4OFihoaF66aWX/tL+AACFQzgEgGK0b98+VaxYUf7+/nb1Hz16tHr06FHgLNjLL7+sPXv2WL6un1Xq3LmzLly4oJiYGP3444/68ccfJcnq84WS5OLiogEDBmjBggV6//33NWjQoAJr+uabb7RlyxaNGTPGZvvRo0cVERGhCRMm6KmnnrIKffHx8erUqZPq16+v1atXa+fOnZozZ47NmgrD09Pzpn1udq3stWXLFv3888/66quvtHXrVk2fPt2qfcWKFVbHyZuBu9aMGTO0Z88eff7558rMzNTjjz9e4PG+//57Sblh7PpbXK9nz3W4kdTUVDk7O2vnzp1W57B//37NmjXL0u/EiRPKyMhQtWrViqWOPHnXcsuWLUpOTs43Cw0AKF6EQwAoRrGxsVafqbqRPXv2aNWqVXrjjTcK7BMQEKCaNWtavq69XfX8+fM6cOCAxowZo9atW6tOnTqWB5PYEhUVpblz5+rMmTNq27atzT6GYeill17S2LFjVb58eZt9qlevrsWLF2v06NHy9fXVqFGjLG07d+5UTk6Opk2bpr/97W+qXbu2EhISbngd6tSpo+PHj+v48eOWdfv27VNSUpLq1q0rSapfv75iY2NvuJ8bXasaNWrIzc1NW7dutazLzMzUTz/9ZDlGnmrVqqlmzZpq27atHn30UX366adW7aGhoVbHcXHJ/4mNoKAg1axZU40bN9aLL76offv2KTMzM1+/Q4cOafjw4YqJiVFERIT69++f7/Oi17LnOuT9giDPDz/8oFq1asnZ2Vn33XefsrOzdebMGatzqFmzptVtn9988408PT3VuHFjm8eoVauWPD09b1rLzeRdyxYtWigyMjLftQYAFC8+cwgAxeDKlStatmyZvvjiC82ZM0enT5+2tCUnJ8swDJ0+fVoVK1aUs7OzJOntt9/WSy+9ZHPmyR7ly5dXhQoVNH/+fAUHB+vYsWN65ZVXCuxfrVo1TZ8+XVWqVJGTk+3fFcbGxio4OFjPPfdcgfvx8fGxBKLFixerSZMmeuyxx/Tggw+qZs2ayszM1LvvvqvOnTtr69atmjdv3g3Po02bNqpXr5769OmjmTNnKisrS0OGDFHLli0t4WT8+PFq3bq1atSooV69eikrK0sbNmzQyJEjb3aZJEnlypXTs88+q5dffln+/v6qWrWqpkyZosuXL2vgwIFWfc+cOaOrV6/q6NGj+vzzz/Xggw/adYxrZWZm6urVq0pKStLHH3+s2rVry9XV1apPdna2nnzySbVr106RkZFq37696tWrp2nTpll9BvJao0aNUr169TRkyBANHjxYbm5u2rx5s3r06KGAgABJubcUR0dH65lnntGuXbv07rvvWm5brl27tvr06aN+/fpp2rRpuu+++3T27FnFxsaqfv366tixow4dOqR//etf6tq1q5KSkqyOn5SUpIyMDHl4eGjkyJEaMWKE3Nzc1Lx5c509e1a//fZbvut5I+fPn9fp06d15swZLV++XHfffXchrjIA4C8zAAC33KJFiwxJN/06cuSIYRiGIckICgoyUlNTLfto2bKl8eKLL1qWw8LCjBkzZlgdp3///kbXrl0tyxs3bjTq1KljuLu7G/Xr1zfi4uIMScann35qGIZhHDlyxJBk7N69O1/NM2bMMMLCwqz2LclYtWqV1Xn5+flZlsePH280aNDAaj+vvfaaUbNmTSMtLc0wDMOYPn26ERwcbHh6ehrt2rUzPvzwQ0OScfHixQKv39GjR40uXboY5cqVM3x8fIwePXoYp0+ftuqzevVqo2HDhoabm5sREBBgdO/evVDX6sqVK8bzzz9vBAQEGO7u7kbz5s2N7du3W9o3b95s9bMKCAgwevfubZw/f/6G1/L6Y1+7Dx8fH6Nly5bGnj17DMMwjAYNGhjjx483DMMwJk6caAQHBxvnzp2zOkc3NzdLf1vi4uKMZs2aGe7u7obZbDbatWtnubYtW7Y0hgwZYgwePNjw9fU1ypcvb7z66qtGTk6OZfuMjAxj3LhxRnh4uOHq6moEBwcbjzzyiLF3717L+dxoDG/evNkwDMPIzs423njjDSMsLMxwdXU1qlatakyaNClfvddukyfvWuZ9mc1mo1OnTpa/HwCAkmEyjGtedgQAuCUWL16sxYsX23xfXB6TyaQjR45YvVsQuJVatWqlhg0b5nvnY2GEh4crLi7O5jjt1q2bhg0bplatWhV5/wCA0oPPHAJAMfD09LzpQ2gCAwMtt5QCpdW1tz5fr3z58nJzcyvhigAAxYWZQwAAblO3YuYQAHDnIBwCAAAAALitFAAAAABAOAQAAAAAiHAIAAAAABDhEAAAAAAgwiEAAAAAQIRDAAAAAIAIhwAAAAAAEQ4BAAAAAJL+DwZOH/2yZyTlAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 1000x700 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 1) Диаграмма рассеяния\n",
    "normal = data_2011[data_2011['anomaly_iforest'] == 0]\n",
    "anomalies = data_2011[data_2011['anomaly_iforest'] == 1]\n",
    "\n",
    "plt.figure(figsize=(10, 7))\n",
    "plt.scatter(\n",
    "    normal['Динамика_Основных_Средств'],\n",
    "    normal['Динамика_Посевных_Площадей'],\n",
    "    s=60,\n",
    "    alpha=0.8,\n",
    "    label='Нормальные наблюдения'\n",
    ")\n",
    "plt.scatter(\n",
    "    anomalies['Динамика_Основных_Средств'],\n",
    "    anomalies['Динамика_Посевных_Площадей'],\n",
    "    s=100,\n",
    "    marker='x',\n",
    "    linewidths=2.5,\n",
    "    label='Аномалии (Isolation Forest)'\n",
    ")\n",
    "\n",
    "for _, row in anomalies.iterrows():\n",
    "    plt.annotate(\n",
    "        row['Район'],\n",
    "        (row['Динамика_Основных_Средств'], row['Динамика_Посевных_Площадей']),\n",
    "        xytext=(5, 5),\n",
    "        textcoords='offset points',\n",
    "        fontsize=9\n",
    "    )\n",
    "\n",
    "plt.xlabel('Динамика основных средств')\n",
    "plt.ylabel('Динамика посевных площадей')\n",
    "plt.title('Аномалии за 2011 год')\n",
    "plt.legend()\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "2f157315",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA04AAAIQCAYAAAC2Uz6yAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAWZpJREFUeJzt3XtYVOX+/vEbEBAUPB9QUTA0TM1TRWaIlGgUJhG6d1mipe0yd6ZYqZWHauu3UjQzLWunZmUWERVpSYaAGpWmlSlqilmKmtsMAUWYWb8//DE5cRgdiRmd9+u6uHSe9ay1PmtmYOZeh2e5GYZhCAAAAABQJXdHFwAAAAAAzo7gBAAAAAA2EJwAAAAAwAaCEwAAAADYQHACAAAAABsITgAAAABgA8EJAAAAAGwgOAEAAACADQQnAAAAALCB4AQATsbNzU3Tp093dBkAAOAsBCcALmPp0qVyc3Oz+mnevLkiIyO1evVqR5d3wbZv367p06dr3759ji4FTuKXX37RjBkzdM0116hRo0Zq2rSp+vXrp88//7zS/sePH9d9992nZs2aqV69eoqMjNS3335bod/KlSt11113qUOHDnJzc1O/fv0qXV5hYaGmTZumm266SY0bN5abm5uWLl1ag1sIALWH4ATA5Tz11FNavny53njjDT366KP67bffdPPNNystLc3RpV2Q7du3a8aMGQQnWHz44Yd69tlnFRISomeeeUZPPvmkTpw4oaioKC1ZssSqr9ls1i233KK3335bY8eO1XPPPacjR46oX79+2r17t1XfRYsW6cMPP1RgYKAaNWpU5fqPHj2qp556Sjt27FC3bt3+lm0EgNpSx9EFAEBti46O1lVXXWV5fO+996pFixZasWKFYmJiHFgZULMiIyO1f/9+NW3a1NJ2//33q3v37po6dapGjhxpaU9OTtbGjRv13nvvKT4+XpI0dOhQdezYUdOmTdPbb79t6bt8+XK1bt1a7u7u6tKlS5XrDwgIUH5+vlq2bKlNmzbp6quv/hu2EgBqB0ecALi8hg0bysfHR3XqWO9LKioqUmJiogIDA+Xt7a3LL79cs2fPlmEYkqSTJ08qNDRUoaGhOnnypGW+Y8eOKSAgQNddd51MJpMkacSIEapfv7727t2rgQMHql69emrVqpWeeuopy/Kqs2XLFkVHR8vf31/169fXjTfeqJycHMv0pUuXasiQIZLOfFkuPxVx3bp1VS5zxIgRFU5dPPvn7Hn79eunLl26aPPmzbruuuvk4+Oj4OBgvfzyy1bLXLduXaXrveWWWypcu7Vo0SJ169ZNDRo0UL169dStWzf997//rVBj/fr1K9SenJxcYT3Z2dkaMmSI2rZtK29vbwUGBmr8+PFWr035MoOCgqza3nzzTbm7u+v//u//rNq/+OILhYeHq169emrYsKEGDx6sHTt2WPWZPn261fPm5+ena665RqmpqRXq/qtzeQ6+//57jRgxQu3bt1fdunXVsmVL3XPPPfrf//5nc/mdO3e2Ck2S5O3trZtvvlm//vqrTpw4YWlPTk5WixYtFBcXZ2lr1qyZhg4dqg8//FAlJSWW9sDAQLm72/4K4e3trZYtW9rsV5Wq3qMhISFW/RYuXKjOnTvL29tbrVq10oMPPqjjx49Xusxzeb8DQGU44gTA5fzxxx86evSoDMPQkSNH9OKLL6qwsFB33XWXpY9hGLr11luVkZGhe++9V927d9dnn32mRx55RAcOHNDcuXPl4+OjZcuWqU+fPnr88ceVlJQkSXrwwQf1xx9/aOnSpfLw8LAs02Qy6aabbtK1116r5557Tp9++qmmTZumsrIyPfXUU1XW++OPPyo8PFz+/v569NFH5enpqVdeeUX9+vVTZmamwsLC1LdvXz300EOaP3++pkyZok6dOkmS5d+qeHt767XXXrNq++abbzR//vwKfX///XfdfPPNGjp0qO644w69++67euCBB+Tl5aV77rmnynVkZWVp1apVFdpPnDihAQMG6LLLLpNhGHr33Xc1atQoNWzYULfffnu1dVfmvffeU3FxsR544AE1adJEX3/9tV588UX9+uuveu+996qcb82aNbrnnns0duxYTZo0ydL++eefKzo6Wu3bt9f06dN18uRJvfjii+rTp4++/fbbCuFr+fLlks6cnrZw4UINGTJE27Zt0+WXX17lus/lOUhPT9fevXs1cuRItWzZUj/++KMWL16sH3/8UTk5OXJzczvv5+rQoUPy9fWVr6+vpW3Lli3q2bNnhUB0zTXXaPHixdq1a5e6du163uu6UJW9R/38/Cz/nz59umbMmKH+/fvrgQce0M6dO7Vo0SJ988032rBhgzw9PSssMyoqSsOHD5dU9fsdACowAMBFLFmyxJBU4cfb29tYunSpVd/U1FRDkvHMM89YtcfHxxtubm7GTz/9ZGmbPHmy4e7ubmRlZRnvvfeeIcmYN2+e1XwJCQmGJOPf//63pc1sNhu33HKL4eXlZfz222+WdknGtGnTLI9jY2MNLy8vY8+ePZa2gwcPGn5+fkbfvn0tbeXrzsjIOKfnIyEhwahXr16F9sqWExERYUgy5syZY2krKSkxunfvbjRv3tw4ffq0YRiGkZGRUWHesLAwIzo6usJ2/VVZWZnh7+9vjB071q4ai4uLK/SbNWuW4ebmZvz8889Wy2zXrp1hGIaxadMmo379+saQIUMMk8lkNW/5tv3vf/+ztH333XeGu7u7MXz4cEvbtGnTjL9+nK5Zs8aQZLz77rtVbm9lKnsOKtuuFStWGJKMrKys81q+YRjG7t27jbp16xp33323VXu9evWMe+65p0L/Tz75xJBkfPrpp5Uur3PnzkZERITN9X7zzTeGJGPJkiXnXGtVr3+5I0eOGF5eXsaAAQOsXr8FCxYYkozXX3/dqv/p06cNSVbP7/n+3gBwXZyqB8DlvPTSS0pPT1d6errefPNNRUZGatSoUUpJSbH0WbVqlTw8PPTQQw9ZzZuYmCjDMKxG4Zs+fbo6d+6shIQEjRkzRhERERXmKzd27FjL/93c3DR27FidPn26ylHOTCaT1qxZo9jYWLVv397SHhAQoDvvvFPr169XQUGBXc/D+apTp47+9a9/WR57eXnpX//6l44cOaLNmzdXOk9KSoq++eabCqfAlTOZTDp69Kh+/vlnzZ07VwUFBQoPD6/Q7+jRo1Y/Z59iVs7Hx8fy/6KiIh09elTXXXedDMPQli1bKvTfu3evbrnlFnXv3l3Lly+3OtKSn5+vrVu3asSIEWrcuLGl/corr1RUVFSlR9DKa9uxY4defvll1atXT9dee22l230+z8HZ23Xq1CkdPXrUstzKRryrTnFxsYYMGSIfH58Kr8nJkyfl7e1dYZ66detapjubzz//XKdPn9bDDz9s9fqNHj1a/v7++uSTT6z6nzp1StKf2wQA54NT9QC4nGuuucZqcIg77rhDPXr00NixYxUTEyMvLy/9/PPPatWqldUpQdKfp779/PPPljYvLy+9/vrruvrqq1W3bl0tWbKk0tOn3N3drcKPJHXs2FGSqhwJ77ffflNxcXGlp3t16tRJZrNZv/zyizp37nxuG38BWrVqpXr16lm1nV3/X0OCyWTSlClTNGzYMF155ZWVLnP37t2W59TLy0sLFy7U0KFDrfoUFRWpWbNmNuvbv3+/pk6dqo8++ki///671bQ//vijwjIHDhyow4cPq0mTJhVer/LXt6rn/bPPPlNRUZHV83F2jf7+/nrrrbcUGBhos25bz8GxY8c0Y8YMvfPOOzpy5Ei121Udk8mkf/7zn9q+fbtWr16tVq1aWU338fGxuo6pXHnYODvAOYuqXicvLy+1b9/e6vdUOhNuJalBgwa1UyCASwrBCYDLc3d3V2RkpF544QXt3r3brhDy2WefSTrzJXP37t0KDg6u6TIvOv/973+1b98+y3NTmbZt2yo9PV0nTpxQWlqaxo8fr8DAQKvRDevWrauPP/7Yar7s7Gyr68JMJpOioqJ07NgxPfbYYwoNDVW9evV04MABjRgxQmaz2Wr+o0ePql69evr4448VGxurWbNmadq0aRe0venp6ZLOhLL3339fQ4cOVVpamqKioqqdz9ZzMHToUG3cuFGPPPKIunfvrvr168tsNuumm26qsF3VGT16tNLS0vTWW2/phhtuqDC9fAS8vypv+2vQuhiV76D46/VpAHAuCE4AIKmsrEzSmRt2SlK7du30+eef68SJE1ZHnXJzcy3Ty33//fd66qmnNHLkSG3dulWjRo3SDz/8UGGvttls1t69ey1HaSRp165dkqr+ItesWTP5+vpq586dFabl5ubK3d3dclTDnkECzsfBgwcrHGWpqv7i4mLNmDFDY8aMsXqu/srX11f9+/eXJN12223at2+fnn76aavg5OHhYelT7q8jpv3www/atWuXli1bZrnoX/ozzFS23k8//VShoaEaP368Zs6cqaFDh1qO/JTXXNXz3rRp0wpH386ucfDgwfrqq680e/Zsm8Gpuufg999/19q1azVjxgxNnTrVMs9f76tkyyOPPKIlS5Zo3rx5uuOOOyrt0717d2VnZ8tsNlud9vbVV1/J19fX6n3rLM5+nc4+mnv69Gnl5eVVeN9s2rRJkqyOOAPAueIaJwAur7S0VGvWrJGXl5fli/PNN98sk8mkBQsWWPWdO3eu3NzcFB0dbZl3xIgRatWqlV544QUtXbpUhw8f1vjx4ytd19nLMwxDCxYskKenp2688cZK+3t4eGjAgAH68MMPrU7nO3z4sN5++21df/318vf3lyTLF/mqhmG+UGVlZXrllVcsj0+fPq1XXnlFzZo1U69evaz6vvDCCyoqKtLjjz9+zss3mUz6/fffKz1dzJby0QuNs4Z2NwxDL7zwQqX9mzVrptDQUElnbojcpk0bjR492jJ/QECAunfvrmXLllk9n9u2bdOaNWt0880329yW06dPn/e2/PU5qGy7JGnevHnnvMznn39es2fP1pQpUzRu3Lgq+8XHx+vw4cNW1/odPXpU7733ngYNGlTp9U+O1r9/f3l5eWn+/PlWz9F///tf/fHHH7rlllus+icnJ+vyyy+3vPYAcD444gTA5axevdpy5OjIkSN6++23tXv3bk2aNMkSQgYNGqTIyEg9/vjj2rdvn7p166Y1a9boww8/1MMPP6zLLrtMkvTMM89o69atWrt2rfz8/HTllVdq6tSpeuKJJxQfH2/1Bbtu3br69NNPlZCQoLCwMK1evVqffPKJpkyZUu01PM8884zS09N1/fXXa8yYMapTp45eeeUVlZSU6LnnnrP06969uzw8PPTss8/qjz/+kLe3t2644QY1b968Rp63Vq1a6dlnn9W+ffvUsWNHrVy5Ulu3btXixYsrDPm8Zs0a/ec//1GTJk2qXF7fvn3Vr18/tW3bVoWFhUpOTtaWLVs0e/bs864tNDRUl112mSZOnKgDBw7I399f77//foVrnSrj4+OjxYsXq3///lq0aJHGjBkj6UzgiI6OVu/evXXvvfdahiNv0KCB1f2oyr355puSzpyql5qaqn379unhhx+udt22ngN/f3/17dtXzz33nEpLS9W6dWutWbNGeXl55/S8fPDBB3r00UfVoUMHderUyVJjuaioKLVo0ULSmeB07bXXauTIkdq+fbuaNm2qhQsXymQyacaMGVbzZWVlKSsrS9KZ6/CKior0zDPPWLapb9++lr4LFizQ8ePHdfDgQUnSxx9/rF9//VWS9O9///uCrjdq1qyZJk+erBkzZuimm27Srbfeqp07d2rhwoW6+uqrLbcY2Lt3r5577jl9/fXXiouLs3oevvnmG0lnjk62bdu2wnWIAGDhuAH9AKB2VTYced26dY3u3bsbixYtMsxms1X/EydOGOPHjzdatWpleHp6Gh06dDCef/55S7/NmzcbderUsRpi3DDODCl99dVXG61atTJ+//13wzD+HFZ5z549xoABAwxf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72Kr1bJlSx0+fNiq7fDhw/L396/0aJMkeXt7y9vbu0K7p6cnN+yFyyp/7/N7AADOoc7/H5ihTp06Dvm7XJufB47eVuBs5/MetCs4/fzzz7rpppu0f/9+lZSUKCoqSn5+fnr22WdVUlKil19+2Z7F2tS7d2+tWrXKqi09PV29e/f+W9YHAAAAAJJk1x3Wxo0bp6uuukq///671ZGe2267TWvXrj3n5RQWFmrr1q3aunWrpDPDjW/dulX79++XdOY0u+HDh1v633///dq7d68effRR5ebmauHChXr33Xc1fvx4ezYDAAAAAM6JXUecsrOztXHjRnl5Wd+8LCgoSAcOHDjn5WzatEmRkZGWx+XXIiUkJGjp0qXKz8+3hChJCg4O1ieffKLx48frhRdeUJs2bfTaa68xFDkAAACAv5VdwclsNstkMlVo//XXX+Xn53fOy+nXr58Mo+px/JcuXVrpPOUXFQIAAABAbbDrVL0BAwZo3rx5lsdubm4qLCzUtGnTdPPNN9dUbQAAAADgFOw64jRnzhwNHDhQV1xxhU6dOqU777xTu3fvVtOmTbVixYqarhEAAAAAHMqu4NSmTRt99913euedd/T999+rsLBQ9957r4YNG1blsOAAAAAAcLGy+z5OderU0V133VWTtQAAAACAU7IrOH300UfVTr/11lvtKgYAAAAAnJFdwSk2NlZubm6SVGFUPDc3t0pH3AMAAEDliouLJUnffvttra63sLBQmZmZatSokerXr18r69yxY0etrAeoaXYFp2HDhunjjz/Wo48+qsTERHl7e9d0XQAAAC4jNzdXkjR69GiHrH/u3Lm1vs7zuYUN4AzsCk7Lly/X5s2blZiYqFdeeUUzZ87UsGHDaro2AAAAlxAbGytJCg0Nla+vb62td9u2bUpISNCyZcvUpUuXWluvn5+fOnToUGvrA2qC3YND9OrVS+vWrVNqaqoee+wxzZ07V0lJSerbt29N1gcAAHDJa9q0qUaNGlXr6y0rK5N0JrD17Nmz1tcPXEzsugFuQUGB5eeGG27Qhg0bNHjwYMXExFj2mAAAAADApcKuI04NGza0DA5xNsMw9PHHH19wUQAAAADgTOwKThkZGTVdBwAAAAA4LbuCU0RERE3XAQAAAABOy67g9P3331c7/corr7SrGAAAAABwRnYFp+7du8vNzU2GYVS4ES43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7TXVrVv3ggoCAADA3ycuLk7JyclKTExU3759Le3BwcFKTk5mkC+gCucVnGzx8/OrycUBAADgbxAXF6fBgwcrIyNDq1evVnR0tCIjIznSBFSjRoMTAAAALg4eHh6KiIhQUVGRIiIiCE2ADed1jRMAAAAAuCKCEwAAAADYQHACAAAAABsITgAAAABgA8EJAAAAAGxweHB66aWXFBQUpLp16yosLExff/11tf3nzZunyy+/XD4+PgoMDNT48eN16tSpWqoWAAAAgCtyaHBauXKlJkyYoGnTpunbb79Vt27dNHDgQB05cqTS/m+//bYmTZqkadOmaceOHfrvf/+rlStXasqUKbVcOQAAAABX4tD7OCUlJWn06NEaOXKkJOnll1/WJ598otdff12TJk2q0H/jxo3q06eP7rzzTklSUFCQ7rjjDn311Ve1WjfgDIqLi5Wbm2vXvOXz5ebmqk4d+/4MhIaGytfX1655AQAALjYOC06nT5/W5s2bNXnyZEubu7u7+vfvry+//LLSea677jq9+eab+vrrr3XNNddo7969WrVqle6+++4q11NSUqKSkhLL44KCAklSaWmpSktLa2hrgNq3bds2hYWFXdAyEhIS7J73q6++Uo8ePS5o/QAAxyr/LsR3Iriq83nvOyw4HT16VCaTSS1atLBqb9GiRZV70e+8804dPXpU119/vQzDUFlZme6///5qT9WbNWuWZsyYUaF9zZo17C3HRa2kpERz5syxa97Tp0/ryJEjat68uby8vOxaxr59+5Sfn2/XvAAA55Kenu7oEgCHKC4uPue+Dj1V73ytW7dOM2fO1MKFCxUWFqaffvpJ48aN09NPP60nn3yy0nkmT56sCRMmWB4XFBQoMDBQAwYMkL+/f22VDjiV0tJSpaenKyoqSp6eno4uBwDgIHwewNWVn412LhwWnJo2bSoPDw8dPnzYqv3w4cNq2bJlpfM8+eSTuvvuuzVq1ChJUteuXVVUVKT77rtPjz/+uNzdK4514e3tLW9v7wrtnp6e/IGAy+P3AAAg8XkA13U+73uHjarn5eWlXr16ae3atZY2s9mstWvXqnfv3pXOU1xcXCEceXh4SJIMw/j7igUAALjEmEwmZWZmKisrS5mZmTKZTI4uCXBqDh2OfMKECXr11Ve1bNky7dixQw888ICKiooso+wNHz7cavCIQYMGadGiRXrnnXeUl5en9PR0Pfnkkxo0aJAlQAEAAKB6KSkpCgkJUVRUlJKSkhQVFaWQkBClpKQ4ujTAaTn0Gqd//OMf+u233zR16lQdOnRI3bt316effmoZMGL//v1WR5ieeOIJubm56YknntCBAwfUrFkzDRo0SP/5z38ctQkAAAAXlZSUFMXHxysmJkbLly/Xr7/+qjZt2ui5555TfHy8kpOTFRcX5+gyAafjZrjYOW4FBQVq0KCB/vjjDwaHgMsqLS3VqlWrdPPNN3NOOwC4EJPJpJCQEHXt2lWpqakymUyWzwMPDw/FxsZq27Zt2r17N2fzwCWcTzZw6Kl6AAAAqD3Z2dnat2+fpkyZUuG6cXd3d02ePFl5eXnKzs52UIWA8yI4AQAAuIjy++916dKl0unl7dynD6iI4AQAAOAiAgICJEnbtm2rdHp5e3k/AH8iOAEAALiI8PBwBQUFaebMmTKbzVbTzGazZs2apeDgYIWHhzuoQsB5EZwAAABchIeHh+bMmaO0tDTFxsYqJydHJ0+eVE5OjmJjY5WWlqbZs2czMARQCYcORw4AAIDaFRcXp+TkZCUmJqpv376W9uDgYIYiB6pBcAIAAHAxcXFxGjx4sDIyMrR69WpFR0crMjKSI01ANQhOAAAALsjDw0MREREqKipSREQEoQmwgWucAAAAAMAGghMAAAAA2EBwAgAAAAAbCE4AAAAAYAPBCQAAAABsIDgBAAAAgA0EJwAAAACwgeAEAAAAADYQnAAAAADABoITAAAAANhAcAIAAAAAGwhOAAAALshkMikzM1NZWVnKzMyUyWRydEmAUyM4AQAAuJiUlBSFhIQoKipKSUlJioqKUkhIiFJSUhxdGuC0CE4AAAAuJCUlRfHx8eratauys7O1YsUKZWdnq2vXroqPjyc8AVUgOAEAALgIk8mkxMRExcTEKDU1VWFhYfLx8VFYWJhSU1MVExOjiRMnctoeUAmCEwAAgIvIzs7Wvn37NGXKFLm7W38NdHd31+TJk5WXl6fs7GwHVQg4L4ITAACAi8jPz5ckdenSpdLp5e3l/QD8ieAEAADgIgICAiRJ27Ztq3R6eXt5PwB/IjgBAAC4iPDwcAUFBWnmzJkym81W08xms2bNmqXg4GCFh4c7qELAeRGcAAAAXISHh4fmzJmjtLQ0xcbGKicnRydPnlROTo5iY2OVlpam2bNny8PDw9GlAk6njqMLAAAAQO2Ji4tTcnKyEhMT1bdvX0t7cHCwkpOTFRcX58DqAOdFcAIAAHAxcXFxGjx4sDIyMrR69WpFR0crMjKSI01ANQhOAAAALsjDw0MREREqKipSREQEoQmwgWucAAAAAMAGghMAAAAA2EBwAgAAAAAbCE4AAAAAYAPBCQAAAABsIDgBAAAAgA0EJwAAAACwgeAEAAAAADYQnAAAAADABoITAAAAANhAcAIAAAAAGwhOAAAAAGADwQlwMSaTSZmZmcrKylJmZqZMJpOjSwIAAHB6BCfAhaSkpCgkJERRUVFKSkpSVFSUQkJClJKS4ujSAAAAnBrBCXARKSkpio+PV9euXZWdna0VK1YoOztbXbt2VXx8POEJAACgGgQnwAWYTCYlJiYqJiZGqampCgsLk4+Pj8LCwpSamqqYmBhNnDiR0/YAAACqQHACXEB2drb27dunKVOmyN3d+tfe3d1dkydPVl5enrKzsx1UIQAAgHMjOAEuID8/X5LUpUuXSqeXt5f3AwAAgDWCE+ACAgICJEnbtm2rdHp5e3k/AAAAWCM4AS4gPDxcQUFBmjlzpsxms9U0s9msWbNmKTg4WOHh4Q6qEAAAwLkRnAAX4OHhoTlz5igtLU2xsbHKycnRyZMnlZOTo9jYWKWlpWn27Nny8PBwdKkAAABOqY6jCwBQO+Li4pScnKzExET17dvX0h4cHKzk5GTFxcU5sDoAAADnRnACXEhcXJwGDx6sjIwMrV69WtHR0YqMjORIEwAAgA0EJ8DFeHh4KCIiQkVFRYqIiCA0AQAAnAOucQIAAAAAGwhOAAAAAGADwQkAAAAAbCA4AQAAAIANBCcAAAAAsIHgBAAAAAA2EJwAAAAAwAaCEwAAAADYQHACAAAAABsITgAAAABgA8EJAAAAAGwgOAEAAACADQQnAAAAALCB4AQAAAAANhCcAAAAAMAGghMAAAAA2ODw4PTSSy8pKChIdevWVVhYmL7++utq+x8/flwPPvigAgIC5O3trY4dO2rVqlW1VC0AAAAAV1THkStfuXKlJkyYoJdffllhYWGaN2+eBg4cqJ07d6p58+YV+p8+fVpRUVFq3ry5kpOT1bp1a/38889q2LBh7RcPAAAAwGU4NDglJSVp9OjRGjlypCTp5Zdf1ieffKLXX39dkyZNqtD/9ddf17Fjx7Rx40Z5enpKkoKCgmqzZAAAAAAuyGGn6p0+fVqbN29W//79/yzG3V39+/fXl19+Wek8H330kXr37q0HH3xQLVq0UJcuXTRz5kyZTKbaKhsAAACAC3LYEaejR4/KZDKpRYsWVu0tWrRQbm5upfPs3btXX3zxhYYNG6ZVq1bpp59+0pgxY1RaWqpp06ZVOk9JSYlKSkosjwsKCiRJpaWlKi0traGtAS4u5e99fgcAwLXxeQBXdz7vfYeeqne+zGazmjdvrsWLF8vDw0O9evXSgQMH9Pzzz1cZnGbNmqUZM2ZUaF+zZo18fX3/7pIBp5aenu7oEgAAToDPA7iq4uLic+7rsODUtGlTeXh46PDhw1bthw8fVsuWLSudJyAgQJ6envLw8LC0derUSYcOHdLp06fl5eVVYZ7JkydrwoQJlscFBQUKDAzUgAED5O/vX0NbA1xcSktLlZ6erqioKMv1ggAA18PnAVxd+dlo58JhwcnLy0u9evXS2rVrFRsbK+nMEaW1a9dq7Nixlc7Tp08fvf322zKbzXJ3P3N51q5duxQQEFBpaJIkb29veXt7V2j39PTkDwRcHr8HAACJzwO4rvN53zv0Pk4TJkzQq6++qmXLlmnHjh164IEHVFRUZBllb/jw4Zo8ebKl/wMPPKBjx45p3Lhx2rVrlz755BPNnDlTDz74oKM2AQAAAIALcOg1Tv/4xz/022+/aerUqTp06JC6d++uTz/91DJgxP79+y1HliQpMDBQn332mcaPH68rr7xSrVu31rhx4/TYY485ahMAAAAAuACHDw4xduzYKk/NW7duXYW23r17Kycn52+uCgAAAAD+5NBT9QAAAADgYkBwAgAAAAAbCE4AAAAAYAPBCQAAAABsIDgBAAAAgA0EJwAAAACwgeAEAAAAADYQnAAAAADABoITAAAAANhAcAIAAAAAGwhOAAAAAGADwQkAAAAAbCA4AQAAAIANBCcAAAAAsIHgBAAAAAA2EJwAAAAAwAaCEwAAAADYQHACAAAAABsITgAAAABgA8EJAAAAAGwgOAEAAACADQQnAAAAALCB4AQAAAAANhCcAAAAAMAGghMAAAAA2EBwAgAAAAAbCE4AAAAAYAPBCQAAAABsIDgBAAAAgA0EJwAAAACwgeAEuBiTyaTMzExlZWUpMzNTJpPJ0SUBAAA4PYIT4EJSUlIUEhKiqKgoJSUlKSoqSiEhIUpJSXF0aQAAAE6N4AS4iJSUFMXHx6tr167Kzs7WihUrlJ2dra5duyo+Pp7wBAAAUA2CE+ACTCaTEhMTFRMTo9TUVIWFhcnHx0dhYWFKTU1VTEyMJk6cyGl7AAAAVSA4AS4gOztb+/bt05QpU+Tubv1r7+7ursmTJysvL0/Z2dkOqhAAAMC5EZwAF5Cfny9J6tKlS6XTy9vL+wEAAMAawQlwAQEBAZKkbdu2VTq9vL28HwAAAKwRnAAXEB4erqCgIM2cOVNms9lqmtls1qxZsxQcHKzw8HAHVQgAAODcCE6AC/Dw8NCcOXOUlpam2NhY5eTk6OTJk8rJyVFsbKzS0tI0e/ZseXh4OLpUAAAAp1TH0QUAqB1xcXFKTk5WYmKi+vbta2kPDg5WcnKy4uLiHFgdAACAcyM4AS4kLi5OgwcPVkZGhlavXq3o6GhFRkZypAkAAMAGghPgYjw8PBQREaGioiJFREQQmgAAAM4B1zgBAAAAgA0EJwAAAACwgeAEAAAAADYQnAAAAADABoITAAAAANhAcAIAAAAAGwhOAAAAAGADwQkAAAAAbCA4AQAAAIANBCcAAAAAsIHgBAAAAAA2EJwAAAAAwAaCEwAAAADYUMfRBdQ2wzAkSQUFBQ6uBHCc0tJSFRcXq6CgQJ6eno4uBwDgIHwewNWVZ4LyjFAdlwtOJ06ckCQFBgY6uBIAAAAAzuDEiRNq0KBBtX3cjHOJV5cQs9msgwcPys/PT25ubo4uB3CIgoICBQYG6pdffpG/v7+jywEAOAifB3B1hmHoxIkTatWqldzdq7+KyeWOOLm7u6tNmzaOLgNwCv7+/nxQAgD4PIBLs3WkqRyDQwAAAACADQQnAAAAALCB4AS4IG9vb02bNk3e3t6OLgUA4EB8HgDnzuUGhwAAAACA88URJwAAAACwgeAEAAAAADYQnAAAAADABoITAAAAANhAcMIl75dfftE999yjVq1aycvLS+3atdO4ceP0v//9z9GlAQAA4CJBcMIlbe/evbrqqqu0e/durVixQj/99JNefvllrV27Vr1799axY8ccXSIAoBaMGDFCbm5uVf4cP37c0SUCcHIEJ1zSHnzwQXl5eWnNmjWKiIhQ27ZtFR0drc8//1wHDhzQ448/bulbUlKixx57TIGBgfL29lZISIj++9//SpLWrVtX6Qerm5ubUlNTLY9/+OEH3XDDDfLx8VGTJk103333qbCw0DL97A9uLy8vhYaGavny5Zbp06dPV/fu3a3W8dd1L126VA0bNqx0e7du3So3Nzft27fP0rZ+/XqFh4fLx8dHgYGBeuihh1RUVFTt8/bxxx/r6quvVt26ddW0aVPddtttlmlBQUF6+umndccdd6hevXpq3bq1XnrpJav5jx8/rlGjRqlZs2by9/fXDTfcoO+++67Ceir78rJ161bL9Kpek3379lX7BWjfvn2W583NzU3u7u5q3ry57r33Xp06dcqy/Mcee0wdO3aUr6+v2rdvryeffFKlpaXVPjcALl433XST8vPzrX7ef/99R5cF4CJBcMIl69ixY/rss880ZswY+fj4WE1r2bKlhg0bppUrV6r8VmbDhw/XihUrNH/+fO3YsUOvvPKK6tevf87rKyoq0sCBA9WoUSN98803eu+99/T5559r7NixVv3KP7h3796tQYMGaeTIkVbhqibt2bNHN910k26//XZ9//33WrlypdavX1+hprN98sknuu2223TzzTdry5YtWrt2ra655hqrPs8//7y6deumLVu2aNKkSRo3bpzS09Mt04cMGaIjR45o9erV2rx5s3r27Kkbb7yx0iN8S5YsUX5+vr7++usK06p6TQIDAy1fesrn+/rrry1tgYGBlmXs3LlTBw4c0JtvvqmVK1dqyZIllml+fn5aunSptm/frhdeeEGvvvqq5s6de+5PMICLire3t1q2bGn107hx4wr93n//fXXu3Fne3t4KCgrSnDlzrKZXt6NNkrZt26bo6GjVr19fLVq00N13362jR49apvfr18+yY8fHx0fdu3fXp59+apk+YsQIxcbGWq3zrzvNKtvRVi41NVVubm5WbR9++KF69uypunXrqn379poxY4bKysqqfK6qOkL31x13Ve3IOntH46JFi3TZZZfJy8tLl19+udUOQ6niTsiHH35Y/fr1q7COs3esJSUlqWvXrqpXr54CAwM1ZsyYSj9Lg4KCKtR29rr69eunhx9+2PJ4586d8vT0rPK5hWur4+gCgL/L7t27ZRiGOnXqVOn0Tp066ffff9dvv/2m48eP691331V6err69+8vSWrfvv15re/tt9/WqVOn9MYbb6hevXqSpAULFmjQoEF69tln1aJFC0l/fnAbhqFWrVqpXr16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po0bN2rs2LHaunWrdu/erQ8//LDawSGmTZumFStWaNq0adqxY4d++OGHCl8ANmzYoOeee067du3SSy+9pPfee0/jxo2TJPXv31+9e/dWbGys1qxZo3379mnjxo16/PHHtWnTJklnTsN76aWXNGTIEB06dEiHDh3Sb7/9JunMKXwmk6lGXhNJOnLkiA4dOqSvvvpKH3/8seW57tChg/bv36933nlHe/bs0fz58/XBBx+c17IBXHo6deqkDRs2WLVt2LBBHTt2lIeHh9VOncr07NlTP/74o4KCghQSEmL1c/ZRmQYNGigkJERdunTRtGnTdODAAatBcsp3spX/NG/evMK6yne0XX755UpISFC3bt2sBlA4u6adO3dWqCckJETu7hf2VfCbb75RaGholQGsqufziiuusHudmzdvltls1pw5c3TttdeqY8eOOnjwYIV+mZmZ8vHx0VVXXVXt8oqLi/X444/r2Weflaenp9114dJHcMIlrUOHDtq0aZPat2+voUOH6rLLLtN9992nyMhIffnll1bnYi9atEjx8fEaM2aMQkNDNXr0aJvDdp/N19dXn332mY4dO6arr75a8fHxuvHGG7VgwQKrfp9++qkCAgIUHBysZ599Vi+++KKuv/7689quP/74Qz4+PqpXr55iYmJ02223acKECRX6XXnllcrMzNSuXbsUHh6uHj16aOrUqWrVqlWVy+7Xr5/ee+89ffTRR+revbtuuOGGCiPeJSYmatOmTerRo4eeeeYZJSUlaeDAgZLOjI60atUq9e3bVyNHjlTHjh31z3/+Uz///LMlQPbo0UP5+fl6/vnnFRAQoICAAMvIff3799cvv/wi6cJfE+nMHtmAgADFxMToqquu0nPPPSdJuvXWWzV+/HiNHTtW3bt318aNGy3XNABwXYmJiVq7dq2efvpp7dq1S8uWLdOCBQs0ceJESbZ3tD344IM6duyY7rjjDn3zzTfas2ePPvvsM40cOdLqmtXi4mIdOnRIP//8s5KSklSnTp3zOjtAOnN62alTp1RUVKQvvvhC27dvr3Qn2tSpU/XGG29oxowZ+vHHH7Vjxw698847VgPknK/Tp09r+fLlSkpKqvYMhUceeURLly7VokWLtHv3biUlJSklJcXyfJYrLS3VqVOndOrUKZlMJpnNZsvj8sGETp8+LcMwFBISotLSUr344ovau3evli9frpdfftlqeXv27NH//d//afDgwTp+/LhlJ510ZgCP06dPW/q+/fbbuuyyyyqMZAhUYADAeWjXrp0xd+7cC1pGdX96unXrZuTl5V3Q8gHgrxISEozBgwdXaM/IyDAkGb///rulLTk52bjiiisMT09Po23btsbzzz9vNc/JkyeN8ePHGwEBAYaXl5cREhJivP7665bpu3btMm677TajYcOGho+PjxEaGmo8/PDDhtlsNgzDMCIiIgxJhiTDy8vL6Ny5s7Fy5cpqa12yZInRoEEDy+Np06ZZluHu7m4EBgYaTz75pGEYhvHBBx9U+Dv76aefGtddd53h4+Nj+Pv7G9dcc42xePHi83q+zq5h06ZNRvv27Y1Zs2YZJpOp2udz4cKFRvv27Q1PT0+jY8eOxhtvvGG13PLtOJef8s+HpKQkIyAgwPDx8TEGDhxovPHGG1brbdeuXbXLycjIsLwWbm5uxjfffGP13Hbr1q3K5wauy80wzmHIMQD4/4KCgvTwww9bjWh0vlq2bGnZ8/dX/fv315IlS6zuxQQAQPfu3ZWamlrt9bPlgoKCtG7dukr7xsbGVrhXFHAuGBwCQK2rKjRJZ0ZKAgDgr7y9vSvc2LcqzZo1q/IeiY0aNZKXl1dNlgYXwREnAAAAALCBwSEAAAAAwAaCEwAAAADYQHACAAAAABsITgAAAABgA8EJAAAAAGwgOAEAAACADQQnAAAAALCB4AQAAAAANhCcAAAAAMCG/wddioCD+kxsOwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1000x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 2) Boxplot по двум признакам\n",
    "plt.figure(figsize=(10, 6))\n",
    "plt.boxplot(\n",
    "    [\n",
    "        data_2011['Динамика_Основных_Средств'],\n",
    "        data_2011['Динамика_Посевных_Площадей']\n",
    "    ],\n",
    "    labels=['Основные средства', 'Посевные площади'],\n",
    "    vert=True\n",
    ")\n",
    "plt.title('Boxplot признаков за 2011 год')\n",
    "plt.ylabel('Значение динамики')\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "9808cc21",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Район</th>\n",
       "      <th>Динамика_Основных_Средств</th>\n",
       "      <th>Динамика_Посевных_Площадей</th>\n",
       "      <th>anomaly_iqr</th>\n",
       "      <th>anomaly_iforest</th>\n",
       "      <th>Совпадение</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Богородский</td>\n",
       "      <td>1.5156</td>\n",
       "      <td>1.0213</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Большеболдинский</td>\n",
       "      <td>0.4992</td>\n",
       "      <td>1.0515</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>Ветлужский</td>\n",
       "      <td>0.6658</td>\n",
       "      <td>0.8936</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>Воротынский</td>\n",
       "      <td>1.0093</td>\n",
       "      <td>0.7813</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>Краснооктябрьский</td>\n",
       "      <td>0.9371</td>\n",
       "      <td>0.8394</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>Сергачский</td>\n",
       "      <td>1.1355</td>\n",
       "      <td>1.2438</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40</th>\n",
       "      <td>Тоншаевский</td>\n",
       "      <td>0.8024</td>\n",
       "      <td>0.7244</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43</th>\n",
       "      <td>Шарангский</td>\n",
       "      <td>1.4707</td>\n",
       "      <td>1.0455</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Ардатовский</td>\n",
       "      <td>1.1448</td>\n",
       "      <td>0.8931</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Арзамасский</td>\n",
       "      <td>1.1062</td>\n",
       "      <td>1.0902</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Балахнинский</td>\n",
       "      <td>1.2155</td>\n",
       "      <td>1.0584</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>Большемурашкинский</td>\n",
       "      <td>1.1585</td>\n",
       "      <td>0.9900</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>Борский</td>\n",
       "      <td>1.0676</td>\n",
       "      <td>1.0367</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>Бутурлинский</td>\n",
       "      <td>1.1985</td>\n",
       "      <td>1.0424</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>Вадский</td>\n",
       "      <td>1.0803</td>\n",
       "      <td>1.0294</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>Варнавинский</td>\n",
       "      <td>1.1319</td>\n",
       "      <td>0.9269</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>Вачский</td>\n",
       "      <td>1.0686</td>\n",
       "      <td>1.0226</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>Вознесенский</td>\n",
       "      <td>1.0057</td>\n",
       "      <td>1.0000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>Воскресенский</td>\n",
       "      <td>1.0435</td>\n",
       "      <td>0.9807</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>г.о.г.Выкса</td>\n",
       "      <td>1.2919</td>\n",
       "      <td>1.0861</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>Гагинский</td>\n",
       "      <td>1.0510</td>\n",
       "      <td>0.9689</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>Городецкий</td>\n",
       "      <td>1.2339</td>\n",
       "      <td>1.0293</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>Дальнеконстантиновский</td>\n",
       "      <td>1.2487</td>\n",
       "      <td>0.9603</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>Дивеевский</td>\n",
       "      <td>1.1126</td>\n",
       "      <td>1.0876</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>Княгининский</td>\n",
       "      <td>1.2278</td>\n",
       "      <td>1.0379</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>Ковернинский</td>\n",
       "      <td>1.3624</td>\n",
       "      <td>0.9754</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>Краснобаковский</td>\n",
       "      <td>0.9608</td>\n",
       "      <td>1.0005</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>Кстовский</td>\n",
       "      <td>0.9830</td>\n",
       "      <td>1.1047</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>Кулебакский</td>\n",
       "      <td>1.2224</td>\n",
       "      <td>0.9548</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>Лукояновский</td>\n",
       "      <td>1.4531</td>\n",
       "      <td>0.9839</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>Лысковский</td>\n",
       "      <td>1.0955</td>\n",
       "      <td>0.9529</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>Навашинский</td>\n",
       "      <td>1.0987</td>\n",
       "      <td>0.9668</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>Павловский</td>\n",
       "      <td>1.0725</td>\n",
       "      <td>1.0108</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>Первомайский</td>\n",
       "      <td>1.0161</td>\n",
       "      <td>1.0852</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>Перевозский</td>\n",
       "      <td>1.0052</td>\n",
       "      <td>1.0050</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>Пильнинский</td>\n",
       "      <td>1.2778</td>\n",
       "      <td>0.9809</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>Семеновский</td>\n",
       "      <td>1.0701</td>\n",
       "      <td>1.0253</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>Сеченовский</td>\n",
       "      <td>1.1251</td>\n",
       "      <td>1.0451</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>Сокольский</td>\n",
       "      <td>1.1705</td>\n",
       "      <td>1.0057</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>Сосновский</td>\n",
       "      <td>1.1098</td>\n",
       "      <td>0.9741</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>Спасский</td>\n",
       "      <td>1.0720</td>\n",
       "      <td>1.0637</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>Тонкинский</td>\n",
       "      <td>1.3487</td>\n",
       "      <td>1.0426</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>Уренский</td>\n",
       "      <td>1.0644</td>\n",
       "      <td>1.0083</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42</th>\n",
       "      <td>Чкаловский</td>\n",
       "      <td>1.1530</td>\n",
       "      <td>1.0133</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44</th>\n",
       "      <td>Шатковский</td>\n",
       "      <td>0.9890</td>\n",
       "      <td>0.9144</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>45</th>\n",
       "      <td>Шахунский</td>\n",
       "      <td>1.1994</td>\n",
       "      <td>1.0116</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Да</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     Район  Динамика_Основных_Средств  \\\n",
       "3              Богородский                     1.5156   \n",
       "4         Большеболдинский                     0.4992   \n",
       "11              Ветлужский                     0.6658   \n",
       "17             Воротынский                     1.0093   \n",
       "23       Краснооктябрьский                     0.9371   \n",
       "34              Сергачский                     1.1355   \n",
       "40             Тоншаевский                     0.8024   \n",
       "43              Шарангский                     1.4707   \n",
       "0              Ардатовский                     1.1448   \n",
       "1              Арзамасский                     1.1062   \n",
       "2             Балахнинский                     1.2155   \n",
       "5       Большемурашкинский                     1.1585   \n",
       "6                  Борский                     1.0676   \n",
       "7             Бутурлинский                     1.1985   \n",
       "8                  Вадский                     1.0803   \n",
       "9             Варнавинский                     1.1319   \n",
       "10                 Вачский                     1.0686   \n",
       "12            Вознесенский                     1.0057   \n",
       "13           Воскресенский                     1.0435   \n",
       "14             г.о.г.Выкса                     1.2919   \n",
       "15               Гагинский                     1.0510   \n",
       "16              Городецкий                     1.2339   \n",
       "18  Дальнеконстантиновский                     1.2487   \n",
       "19              Дивеевский                     1.1126   \n",
       "20            Княгининский                     1.2278   \n",
       "21            Ковернинский                     1.3624   \n",
       "22         Краснобаковский                     0.9608   \n",
       "24               Кстовский                     0.9830   \n",
       "25             Кулебакский                     1.2224   \n",
       "26            Лукояновский                     1.4531   \n",
       "27              Лысковский                     1.0955   \n",
       "28             Навашинский                     1.0987   \n",
       "29              Павловский                     1.0725   \n",
       "30            Первомайский                     1.0161   \n",
       "31             Перевозский                     1.0052   \n",
       "32             Пильнинский                     1.2778   \n",
       "33             Семеновский                     1.0701   \n",
       "35             Сеченовский                     1.1251   \n",
       "36              Сокольский                     1.1705   \n",
       "37              Сосновский                     1.1098   \n",
       "38                Спасский                     1.0720   \n",
       "39              Тонкинский                     1.3487   \n",
       "41                Уренский                     1.0644   \n",
       "42              Чкаловский                     1.1530   \n",
       "44              Шатковский                     0.9890   \n",
       "45               Шахунский                     1.1994   \n",
       "\n",
       "    Динамика_Посевных_Площадей  anomaly_iqr  anomaly_iforest Совпадение  \n",
       "3                       1.0213            1                1         Да  \n",
       "4                       1.0515            1                1         Да  \n",
       "11                      0.8936            1                1         Да  \n",
       "17                      0.7813            1                1         Да  \n",
       "23                      0.8394            1                1         Да  \n",
       "34                      1.2438            1                1         Да  \n",
       "40                      0.7244            1                1         Да  \n",
       "43                      1.0455            1                1         Да  \n",
       "0                       0.8931            0                0         Да  \n",
       "1                       1.0902            0                0         Да  \n",
       "2                       1.0584            0                0         Да  \n",
       "5                       0.9900            0                0         Да  \n",
       "6                       1.0367            0                0         Да  \n",
       "7                       1.0424            0                0         Да  \n",
       "8                       1.0294            0                0         Да  \n",
       "9                       0.9269            0                0         Да  \n",
       "10                      1.0226            0                0         Да  \n",
       "12                      1.0000            0                0         Да  \n",
       "13                      0.9807            0                0         Да  \n",
       "14                      1.0861            0                0         Да  \n",
       "15                      0.9689            0                0         Да  \n",
       "16                      1.0293            0                0         Да  \n",
       "18                      0.9603            0                0         Да  \n",
       "19                      1.0876            0                0         Да  \n",
       "20                      1.0379            0                0         Да  \n",
       "21                      0.9754            0                0         Да  \n",
       "22                      1.0005            0                0         Да  \n",
       "24                      1.1047            0                0         Да  \n",
       "25                      0.9548            0                0         Да  \n",
       "26                      0.9839            0                0         Да  \n",
       "27                      0.9529            0                0         Да  \n",
       "28                      0.9668            0                0         Да  \n",
       "29                      1.0108            0                0         Да  \n",
       "30                      1.0852            0                0         Да  \n",
       "31                      1.0050            0                0         Да  \n",
       "32                      0.9809            0                0         Да  \n",
       "33                      1.0253            0                0         Да  \n",
       "35                      1.0451            0                0         Да  \n",
       "36                      1.0057            0                0         Да  \n",
       "37                      0.9741            0                0         Да  \n",
       "38                      1.0637            0                0         Да  \n",
       "39                      1.0426            0                0         Да  \n",
       "41                      1.0083            0                0         Да  \n",
       "42                      1.0133            0                0         Да  \n",
       "44                      0.9144            0                0         Да  \n",
       "45                      1.0116            0                0         Да  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 3) Сравнение эталонной IQR-разметки и прогноза модели\n",
    "comparison = data_2011[['Район'] + features + ['anomaly_iqr', 'anomaly_iforest']].copy()\n",
    "comparison['Совпадение'] = np.where(\n",
    "    comparison['anomaly_iqr'] == comparison['anomaly_iforest'],\n",
    "    'Да',\n",
    "    'Нет'\n",
    ")\n",
    "display(comparison.sort_values(['anomaly_iforest', 'anomaly_iqr'], ascending=False))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e3de4bab",
   "metadata": {},
   "source": [
    "## 7. Выводы\n",
    "\n",
    "**1. По данным за 2011 год** было получено 46 наблюдений по районам.  \n",
    "Для анализа использовались только два показателя:\n",
    "- динамика посевных площадей;\n",
    "- динамика основных средств.\n",
    "\n",
    "**2. В качестве метода поиска аномалий** был выбран `Isolation Forest`, так как он хорошо подходит для задач без учителя и умеет выделять редкие и удалённые наблюдения в многомерном пространстве.\n",
    "\n",
    "**3. Для расчёта метрик** пришлось использовать суррогатную разметку по правилу IQR, потому что в исходных данных нет заранее известных «истинных» аномалий.\n",
    "\n",
    "**4. Полученные метрики оказались очень высокими (вплоть до идеальных)**, что означает:\n",
    "- выделенные моделью объекты практически полностью совпали с объектами, которые статистически выбиваются по квартильному правилу;\n",
    "- для данного небольшого набора данных аномальные точки хорошо отделимы от основной массы наблюдений.\n",
    "\n",
    "**5. Однако интерпретировать эти метрики нужно осторожно.**  \n",
    "Высокая точность здесь не означает, что модель абсолютно верно нашла «реальные» экономические аномалии. Она означает лишь, что метод `Isolation Forest` хорошо согласуется с выбранным статистическим критерием IQR.\n",
    "\n",
    "**6. Практический вывод:** решение можно считать **адекватным** для учебной постановки задачи:\n",
    "- метод корректно применён;\n",
    "- аномалии визуально действительно лежат на периферии облака точек;\n",
    "- результаты легко интерпретируются.\n",
    "\n",
    "**7. Ограничение:** для более строгой оценки качества желательно иметь:\n",
    "- экспертную разметку аномалий;\n",
    "- дополнительные признаки;\n",
    "- сравнение с несколькими методами (например, LOF, One-Class SVM, DBSCAN).\n",
    "\n",
    "### Итог\n",
    "Для поставленной задачи решение является **качественным и обоснованным**, но метрики следует трактовать как оценку согласованности с IQR-разметкой, а не как абсолютную истину о наличии экономических аномалий.\n"
   ]
  }
 ],
 "metadata": {
  "language_info": {
   "name": "python"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
