{
    "version": "https:\/\/jsonfeed.org\/version\/1",
    "title": "Математик среди биологов: заметки с тегом SHA-256",
    "_rss_description": "Я немного умею складывать, но от вычитания у меня всегда кружится голова",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/antonlyakh.ru\/blog\/tags\/sha-256\/",
    "feed_url": "https:\/\/antonlyakh.ru\/blog\/tags\/sha-256\/json\/",
    "icon": false,
    "author": {
        "name": "Антон Лях",
        "url": "https:\/\/antonlyakh.ru\/blog\/",
        "avatar": false
    },
    "items": [
        {
            "id": "471",
            "url": "https:\/\/antonlyakh.ru\/blog\/all\/proveryaem-unikalnost-vyborok-v-metode-bustrepa-pri-pomoschi-hes\/",
            "title": "Проверяем уникальность выборок в методе бустрепа при помощи хешей",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"https:\/\/antonlyakh.ru\/blog\/pictures\/cvety-pod-nogami---1.png\" width=\"800\" height=\"600\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Где-то в крымском лесу<\/div>\n<\/div>\n<p>Это продолжение серии заметок об <a href=\"https:\/\/antonlyakh.ru\/blog\/tags\/analiz-dannyh\/\">анализе биологических данных<\/a>.<\/p>\n<p><br\/><\/p>\n<p>Сегодня рассмотрим частную задачу, которая может возникнуть при использования метода бустрепа.<\/p>\n<p><i>Дано множество <a href=\"https:\/\/antonlyakh.ru\/blog\/all\/obekt-i-priznaki-obekta-v-biologicheskoy-statistike\/\">объектов<\/a>. Необходимо случайным образом составить из них неповторяющиеся выборки. Задача заключается в проверке уникальности каждой выборки. Для этого используем хеш.<\/i><\/p>\n<p><br\/><\/p>\n<h3>Бутстреп<\/h3>\n<p>Метод бустрепа предполагает, что из множества исходных данных мы создаем случайную выборку и вычисляем по ней некоторые статистические величины: среднее, дисперсию и тому подобные. Затем мы создаем новую случайную выборку, вычисляем новые величины и так продолжаем очень много раз. В результате по полученным значениям мы оцениваем реальные статистические величины. Достоверность оценок как раз достигается за счет многократного выбора.<\/p>\n<blockquote>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/X5Tech\/articles\/679842\/\">Немного о бустрепе<\/a>.<\/p>\n<\/blockquote>\n<h3>Уникальные выборки<\/h3>\n<p>В классическом бустреп-анализе могут повторяться как сами выборки, так и элементы в каждой выборке. Но в данной случае нам нужно создать совокупность уникальных выброк. Для проверки уникальности каждой выборки используем хеш.<\/p>\n<blockquote>\n<p>Хеш — это математическое преобразование, переводящее произвольный входной массив данных в строку фиксированной длины, состоящую из букв и цифр. Хеш считается хорошим, если он устойчив к колизиям — это когда невозможно получить из различных входных последовательностей одинаковые хеши.<br \/>\n<a href=\"https:\/\/blog.group-ib.ru\/hash\">Group-IB: Хеш четкий и хеш нечеткий<\/a>.<\/p>\n<\/blockquote>\n<h3>Хеш<\/h3>\n<p>Для создания хеша объединим все элементы выборки (их значения, идентификаторы или названия) в одну строку и вычислим хеш строки. Затем проверим, встречался ли такой хеш ранее (в массиве сохраненных хешей). Если его там нет, значит выборка уникальная.<\/p>\n<p>Вот как можно составить строку для хеширования из данных.<\/p>\n<ul>\n<li>Если данные — это символы, например названия, тогда объединяем их в одну строку:<\/li>\n<li>’ellipse’ + ’convex’ + ’square’ + ’curve’ → ’ellipseconvessquarecurve’.<\/li>\n<li>Если данные — это числа, то считаем их строками и тоже объединяем в одну строку:<\/li>\n<li>17.5 + 21.1 + 33.333 + 77.00098 + 1 + 0.008 → ’17.521.133.33377.0009810.008’<\/li>\n<\/ul>\n<p>Алгоритмов хеширования много. Среди них наиболее распространены: MD5, SHA-1, SHA-2, SHA-256. Используйте любой.<\/p>\n<p>Вот хеши SHA-256 двух вышенаписанных строк:<\/p>\n<ul>\n<li><i>ellipseconvessquarecurve<\/i> → 6d80b7d933b69b974189bd2a61b90a05f050c62afa055fb5a033f36114d360a2<\/li>\n<li><i>17.521.133.33377.0009810.008<\/i> → d1a728197a46f18060a0c2533938c881b0d48e8e65358f21f1d86dd0f5f1612b<\/li>\n<\/ul>\n<p>Успехов в анализе данных.<\/p>\n",
            "date_published": "2023-06-29T12:03:20+03:00",
            "date_modified": "2023-06-29T11:59:13+03:00",
            "image": "https:\/\/antonlyakh.ru\/blog\/pictures\/cvety-pod-nogami---1.png",
            "_date_published_rfc2822": "Thu, 29 Jun 2023 12:03:20 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "471",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/antonlyakh.ru\/blog\/pictures\/cvety-pod-nogami---1.png"
                ]
            }
        }
    ],
    "_e2_version": 3559,
    "_e2_ua_string": "E2 (v3559; Aegea)"
}