Математика Дата саентиста
@workakkk - админ @data_analysis_ml - ds https://gosuslugi.ru/snet/67b55bb01a1c5a6fb6ecc946
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام Математика Дата саентиста
تُعد قناة Математика Дата саентиста (@data_math) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 14 053 مشتركاً، محتلاً المرتبة 9 190 في فئة التكنولوجيات والتطبيقات والمرتبة 47 377 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 14 053 مشتركاً.
بحسب آخر البيانات بتاريخ 18 يونيو, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -62، وفي آخر 24 ساعة بمقدار 0، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 17.87%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 6.96% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 2 511 مشاهدة. وخلال اليوم الأول يجمع عادةً 978 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 53.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل llm, программирование, параметр, визуализация, stepik.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“@workakkk - админ
@data_analysis_ml - ds
https://gosuslugi.ru/snet/67b55bb01a1c5a6fb6ecc946”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 19 يونيو, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
Сфера | Возможности AI
-----|----------------------
Образование | Интерактивные помощники, обучение математике
Исследования | Генерация гипотез, автоматическое доказательство
Бизнес | Оптимизация, логистика, криптография, финтех
🧭 Куда движемся дальше
• Новый бенчмарк FrontierMath проверяет научные способности моделей
• Гибридные архитектуры: нейросети + символика + формальные системы
• Применения в науке, финансах, образовании — становятся повседневными
💬 А вы как думаете?
• Может ли AI когда-нибудь доказать теорему, которую не смог человек?
• Какие приложения AI в математике вам кажутся самыми перспективными?
Статья
#AI #Mathematics #DeepMind #LLM #FormalProof #Innovation
import sys
class ImportLoggerFinder:
def find_spec(self, fullname, path, target=None):
print(f'Импортируется: {fullname}')
return None # Не вмешиваемся, просто логируем
sys.meta_path.insert(0, ImportLoggerFinder())
# Теперь при любом импорте будет выводиться имя загружаемого модуля
import json
import math
import requests
# Вы увидите:
# Импортируется: json
# Импортируется: math
# Импортируется: requests
С помощью такого подхода можно делать глубокий аудит, динамические патчи или реализовать кастомные протоколы импорта для своих нужд. Очень мощный, но малоизвестный инструмент стандартной библиотеки!
Сохрани себе, чтобы не потерять 😎
import duckdb
duckdb.sql("SELECT COUNT(*), AVG(price) FROM 'data.parquet'")
2️⃣ Интеграция с pandas:
import pandas as pd
df = pd.read_csv("data.csv")
result = duckdb.sql("SELECT category, AVG(value) FROM df GROUP BY category").df()
3️⃣ Объединение нескольких источников:
duckdb.sql("""
SELECT a.user_id, b.event_time
FROM 'users.parquet' a
JOIN read_csv('events.csv') b
ON a.user_id = b.user_id
""")
🧠 Почему это важно:
- 📊 Вы можете использовать SQL и pandas одновременно
- 🚀 DuckDB быстрее pandas в большинстве аналитических задач, особенно на больших данных
- 🧩 Поддержка стандартов данных (Parquet, Arrow) даёт нативную интеграцию с экосистемой Data Science
- 🔧 Не требует настройки: просто установите через pip install duckdb
🎯 Применения:
- Локальный анализ данных (до десятков ГБ) — без Spark
- Объединение таблиц из разных форматов (Parquet + CSV + DataFrame)
- Прототипирование ETL-пайплайнов и построение дашбордов
- Быстрая агрегация и отчёты по логам, BI-данным, IoT-стримам и пр.
📌 Советы:
- Используйте read_parquet, read_csv_auto и from_df() для гибкой загрузки данных
- Результаты запросов можно конвертировать обратно в pandas через .df()
- DuckDB поддерживает оконные функции, GROUP BY, JOIN, UNION, LIMIT, подзапросы и многое другое — это полноценный SQL-движок
🔗 Подробный гайд:
https://www.kdnuggets.com/integrating-duckdb-python-an-analytics-guide
#DuckDB #Python #DataScience #Analytics #SQL #Pandas #Parquet #BigData5 + 5 = 26 6 + 6 = 38 7 + 7 = 52 9 + 9 = ??Стандартная арифметика тут не работает. Найдём скрытую логику: Разберём: • 5 × 5 = 25 → 25 + 1 = 26 • 6 × 6 = 36 → 36 + 2 = 38 • 7 × 7 = 49 → 49 + 3 = 52 Кажется, формула такая: 🔍 **x + x = (x × x) + (x − 4)** Тогда: ``` 9 + 9 = 9 × 9 + (9 − 4) = 81 + 5 = ✅ **86** ``` 📌 Ответ: **86** #Логика #Головоломка #Математика #Mindset #Пазлы
Например, динамическая награда IoU адаптирует пороги точности для обнаружения объектов — сначала стимулируя базовое понимание, а затем требуя высокой точности.Тестирование проводилось на бенчмарке MEGA-Bench из440 задач — от анализа графиков до OCR. Экспериментальные модели Orsta (7B и 32B параметров), обученные с V-Triune, показали прирост производительности до +14,1% по сравнению с базовыми версиями. На задачах восприятия (обнаружение объектов в COCO), улучшения достигли +12,17% для mAP@50. Для математических задач (MathVista) результаты выросли на 5%, а в OCR — на 1-2%. При этом система стабильно работала даже при обучении на смешанных данных, что косвенно подтвердило ее универсальность. Minimax открыли (но пока не загрузили его в репозиторий) код V-Triune и модели Orsta: 🟢Orsta-32B-0326 - стабильная версия на более поздней QwenVL-2.5-32B; 🟠Orsta-32B-0321 - версия с замороженным ViT на базе QwenVL-2.5-32B-0321; 🟢Orsta-7B - на базе Qwen2.5-VL-7B-Instruct. ⚠️ В версии 0321 попытки совместного обновления визуального и языкового модулей приводили к взрыву градиентов, поэтому ViT пришлось заморозить. В 0326, благодаря исправлениям в архитектуре, RL-тренинг стал стабильнее. 0326 рекомендуется для задач, где критична точность и надежность форматов ответов. 📌Лицензирование: MIT License. 🟡Набор моделей 🟡Arxiv 🖥GitHub @ai_machinelearning_big_data #AI #ML #VLM #RL #Framework #MiniMax
import pandas as pd
import numpy as np
np.random.seed(42)
days = pd.date_range("2023-01-01", periods=10, freq="D")
true_temp = np.sin(np.linspace(0, 3 * np.pi, 240)) * 10 + 20
bias_per_day = np.random.uniform(-2, 2, size=len(days))
df = pd.DataFrame({
"datetime": pd.date_range("2023-01-01", periods=240, freq="H"),
})
df["day"] = df["datetime"].dt.date
df["true_temp"] = true_temp
df["bias"] = df["day"].map(dict(zip(days.date, bias_per_day)))
df["measured_temp"] = df["true_temp"] + df["bias"] + np.random.normal(0, 0.5, size=240)
🔍 Разбор: как оценить смещение
Идея: температура в течение дня плавно колеблется, но bias в этот день одинаков для всех точек. Если мы "сгладим" значения (например, скользящим средним), то можем аппроксимировать общий тренд — и вычесть его, получив оценку bias.
🔧 Способ: вычтем сглаженный тренд, затем усредним остатки по дню:
```python
# Сглаживаем тренд
df["trend"] = df["measured_temp"].rolling(window=12, center=True, min_periods=1).mean()
# Остатки (приближение к bias)
df["residual"] = df["measured_temp"] - df["trend"]
# Оценка bias как среднее отклонение внутри дня
bias_est = df.groupby("day")["residual"].mean()
df["estimated_bias"] = df["day"].map(bias_est)
# Восстановим температуру: measured - bias
df["restored_temp"] = df["measured_temp"] - df["estimated_bias"]
```
📊 Результаты
Оценим ошибку восстановления:
```python
from sklearn.metrics import mean_squared_error
rmse = mean_squared_error(df["true_temp"], df["restored_temp"], squared=False)
print(f"RMSE восстановления: {rmse:.4f}")
```
> ✅ Обычно RMSE ≈ 0.5–0.7 — это близко к стандартному отклонению шума, значит bias устранён успешно!
💡 Вывод
✔️ Простая техника — сглаживание + усреднение отклонений — позволяет оценить дневные смещения
✔️ Без знания "истинной" температуры можно получить довольно точную реконструкцию
✔️ Это напоминает реальные задачи очистки данных от сенсорных сдвигов или ошибок калибровки
📈 Отличный пример практики Data Science с уклоном в математику, временные ряды и обработку шумов!List[float], представляющий одномерное распределение (например, значения метрики или зарплаты).
Нужно определить: существует ли индекс, на котором можно разделить массив на две части так, чтобы стандартное отклонение слева и справа отличалось не более чем на ε (например, 0.1).
Формат:
def has_balanced_std_split(data: list[float], epsilon: float = 0.1) -> bool:
...
Пример:
data = [1.0, 2.0, 3.0, 4.0, 5.0]
# Разделение после 2 → [1.0, 2.0], [3.0, 4.0, 5.0]
# std слева ≈ 0.5, справа ≈ 0.816 → разница = 0.316 > 0.1 → не подходит
🔍 Подсказка
Используй statistics.stdev() или numpy.std(ddof=1) (с выборочной коррекцией).
Но не забывай, что длина подмассива должна быть как минимум 2.
---
✅ Пример реализации:
```python
import statistics
def has_balanced_std_split(data: list[float], epsilon: float = 0.1) -> bool:
n = len(data)
if n < 4:
return False # Нужны хотя бы 2 элемента в каждой части
for i in range(2, n - 1):
left = data[:i]
right = data[i:]
if len(left) < 2 or len(right) < 2:
continue
std_left = statistics.stdev(left)
std_right = statistics.stdev(right)
if abs(std_left - std_right) <= epsilon:
return True
return False
```
📌 Пример использования:
```python
data = [10, 12, 11, 20, 21, 19]
print(has_balanced_std_split(data, epsilon=0.5)) # True или False в зависимости от разбивки
```
🎯 Что проверяет задача:
• понимание **дисперсии и стандартного отклонения**
• знание **статистических библиотек Python**
• работа с ограничениями на длину срезов
• мышление в духе «разделяй и анализируй»
| user_id | group | conversion_rate |
|---------|--------|-----------------|
| 1001 | A | 0 |
| 1002 | A | 1 |
| 1003 | B | 0 |
| 1004 | B | 1 |
| ... | ... | ... |
По результатам A/B теста кажется, что разницы между группами нет. Вы проверили chi-squared test и Mann-Whitney — тоже ничего.
🧩 Однако ваш коллега утверждает, что в данных явно зарыта сильная зависимость, которую можно выявить, если «включить голову».
---
🔍 Вопрос:
Какой скрытый фактор мог полностью «маскировать» эффект от теста и как его можно вычислить, даже если он отсутствует в таблице напрямую?
💡 Подсказка: данные собирались в течение 30 дней, но колонка с датой/временем была потеряна при сохранении. Однако user_id — это не случайное число.
🎯 Что нужно сделать:
1. 🧠 Предположить, что user_id содержит зашумлённую информацию о времени регистрации (например, ID выдаются монотонно)
2. 🧮 Смоделировать зависимость результата от user_id и проверить, не является ли тест несбалансированным по времени
3. 📈 Построить метрику на основе сгруппированных окон по user_id и визуализировать смещение между группами A и B
🎯 Ключевая идея решения:
Хотя колонка с датой была потеряна, можно сделать разумное предположение:
🔸 `user_id` назначается **монотонно**, т.е. пользователи с меньшими ID пришли раньше.
Если эксперимент длился 30 дней, а пользователи приходили неравномерно, то:
- группа A могла доминировать в начале
- группа B — в конце
📉 А что, если в эти периоды поведение пользователей менялось? Например, была акция, баг, праздник?
🔍 **Решение: как восстановить эффект**
1. 🟤 Добавим к данным колонку `bucket = user_id // 100`, чтобы разбить пользователей на условные "временные окна"
2. 🟤 Для каждого `bucket` считаем среднюю `conversion_rate` отдельно по группам A и B
3. 🟤 Строим график `conversion_A - conversion_B` по bucket
Если кривая скачет — тест **несбалансирован по времени** и глобальное сравнение групп вводит в заблуждение.
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
