190

Средства анализа данных

Лабораторная работа

Информатика, кибернетика и программирование

Формирование в блокноте осмысленной информации, использование программных возможностей WinHex. Обработка данных в программном пакете Математика и проверка суммы вероятностей элементов списка. Расчет величины информационной энтропии.

Русский

2012-11-14

803 KB

12 чел.

Московский Энергетический Институт

(Технический Университет)

Отчет: Лабораторная работа №1

«Средства анализа данных»

Выполнил: Васильев Василий

Проверил: Рытов А.А.

Москва

2011

  1.  Сформировать в «Блокноте» осмысленный текст на русском языке из N=30 букв, содержащий только строчные буквы и пробелы. Сохранить в виде текстового (*.txt) файла.

формировал

  1.  Запусить WinHex , открыть созданный файл, и с помощью программы PrintKеy зафиксировать полученный результат (полный экран).

  1.  
    В меню Инструменты выбрать опцию Analise File  и получить на экране распределение символов, содержащихся в выбранном файле. Зафиксировать (на произвольном носителе) те буквы и их количество , вероятность появления которых в выбранном тексте выше 0.05 (5%), например :   E0h  а    0.0795    96.

  1.  Запустить пакет "Математика" и создать список полученных в предыдущем пункте букв и их частот появления в виде: ch0 = {{"а",   0.0795}, {"е", 0.0902}, {"и", 0.0637}, {"н", 0.0604}, {"о", 0.0762}, {"р", 0.0513}, {"т", 0.613}, {" ", 0.1358}}

Сделал

  1.  Нажав комбинацию клавиш Shift+Enter проверить правильность ввода (в дальнейшем любой запуск на выполнение операций сопровождается этой командой).

Все верно


  1.  Подключить блок статистической обработки  Needs["StatisticalPlots`"] и построить диаграмму Парето для введенного списка  ParetoPlot[ch0].

  1.  Вычислить длину списка (вектора) Length[ch0].

  1.  Проверить сумму вероятностей элементов списка используя две операции: сначала создать список состоящий только из значений вероятности p0=ch0[[All,2]], а затем подсчитать сумму вероятностей summch0=Sum[p0[[i]],{i, Length[ch0]}] .

  1.  Ввести список наиболее вероятных частот букв русского алфавита  в виде alfru={{"а",0.062},……..}. Возможно использование файла alfru.doc.  

  1.  Сформировать вектор частот  pa=alfru[[All,2]], определить длину списка na=Length[pa] и проверить сумму вероятностей summp=Sum[pa[[i]],{i,na}].

11. Рассчитать величину информационной энтропии H (энтропию языка):

                                               

entropyalfru=N[-Sum[pa[[i]]*Log[2,pa[[i]]],{i,na}]].

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

    13. Аналогично п.1 задания сформировать текстовый файл, содержащий 1500 строчных букв (и пробелов) русского алфавита.

Сформировал

    14. С помощью команды v1= ReadList["file",Byte,30] создать список  данных  v1, соответсвующий сформированному текстовому файлу, где file - это полный путь к файлу, который можно ввести с помощью команд меню Insert\ File Path, 30 –число вводимых символов на первом этапе.

   15. Построить гистограммы распределения букв (символов),используя команды Histogram[v1], Histogram[v1,{200,255,1}].

  


16. Установить параметр n2=60 и вести новый список данных v2=ReadList["file1500",Byte,n2], где file1500 –условное имя файла из п.13.

   17. Определить число символов, соответствующих буквам русского языка в векторе v2:              freq2=Tally[v2].

   18. Создать список частот для введенных  n2=60 символов текста:

            p2=N[freq2[[All,2]/Length[v2]], где N[ ] – преобразование к действительной форме представления чисел.

    19. Определить длину списка p2, сумму вероятностей, и информационную энтропию.

 


 20. Подготовить список для записи энтропии 120 последовательно увеличивающихся сегментов подготовленного текста entropytextout=Range[120].

    21. Используя оператор Do[expr, {j,jmax}], построить вектор значений энтропии сегментов текста, увеличивающихся каждый раз на 10 символов:

Do[{n2=10*j;

v2=ReadList["file",Byte,n2]; freq2=Tally[v2];

p2=N[freq2[[All,2]]/Length[v2]];np2=Length[p2]};

entropytextout[[j]]=N[-Sum[p2[[i]]*Log[2,p2[[i]]],{i,np2}]],{j,120}]

  22. Построить  точечный график зависимости энтропии сообщения от его длины:          ListPlot[entropytextout]


          23. Построить гистограмму распределения рассчитанных значений энтропии.

  24. Определить среднее значение Mean[entropytextout] и дисперсию  Variance[entropytextout].


  25. Используя команду Drop [list, n]- возвращает список list, из которого удалены первые n элементов: - удалить из распределения явные выбросы (значения лежащие вне диапазона Mean[entropytextout] Variance[entropytextout]) и вновь построить гистограмму распределения, рассчитать среднее значение и дисперсию энтропии.


 

А также другие работы, которые могут Вас заинтересовать

36521. Флуктуації. Міра флуктуації. Адитивність дисперсії 197 KB
  Фізичні величини що характеризують макроскопічне тіло яке знаходиться у стані рівноваги практично завжди з великою точністю дорівнюють своїм середнім значенням. Але відхилення від середнього значення все ж таки мають місце у звязку із чим виникає питання про знаходження розподілу ймовірностей цих відхилень. Ми ввели середнє значення як . Реальне значення величини практично завжди відрізняється від .
36522. ИННОВАЦИОННЫЙ МЕНЕДЖМЕНТ 60 KB
  Инновация считается осуществленной если она внедрена на рынке или в производственный процесс. Свойства инновации: научнотехническая или организационная новизна производственная применимость коммерческая реализуемость 5 основных признаков инновации по Шумпетеру: новый метод производства использование новой техники новых технологических процессов новый продукт новые свойства известного продукта использование нового сырья новых источников сырья новая или обновлённая структура управления появление новых рынков сбыта. Классификация...
36523. Процедуры общего вида в паскаль 24.5 KB
  Синтаксис: Procedure идентификатор или Procedure идентификатор параметры Замечания: В заголовке процедуры определяются ее идентификатор и набор формальных параметров если таковые есть. Заголовок процедуры сопровождается: 1разделом описаний в котором объявляются локальные объекты 2операторами находящимися между Begin и End которые определяют что должно быть выполнено при вызове процедуры. Вместо частей объявлений и операторов в объявлении процедуры могут присутствовать директивы Forwrd externl или InLine.
36524. Формальные и фактические параметры Правило соответствия 26.5 KB
  В каждую группу включаются параметры одного типа принадлежащие к одной категории. Все формальные параметры можно разбить на четыре категории: 1параметрызначения; 2параметрыпеременные; 2параметрыконстанты 4параметрыпроцедуры и параметрыфункции.
36525. Параметры - переменные, параметры-значения.Механизм передачи в подпрограмму и из нее 28.5 KB
  Список формальных параметров необязателен и может отсутствовать. Если же он есть то в нем должны быть перечислены имена формальных параметров и их типы например: Procedure SB: Rel; b: Integer; с: Chr; Как видно из примера параметры в списке отделяются друг от друга точками с запятой. Несколько следующих подряд однотипных параметров можно объединять в подсписки например вместо Function F: Rel; b: Rel: Rel; можно написать проще: Function Fb: Rel: Rel; Операторы тела подпрограммы рассматривают список формальных параметров как...
36526. Глобальные и локальные типы параметров 23.5 KB
  Глобальные переменные Глобальные переменные в отличие от локальных доступны в любой точке программы.
36527. Параметры процедурного типа и их использование 25.5 KB
  Он основан на введении процедурных типов. Процедурный тип тип представляющий семейство процедур или функций для их использования в программе. Как и любой тип Турбо Паскаля процедурный тип должен быть описан а затем может быть использован для работы с переменными процедурного типа или константами.
36528. Информация, информационные революции, основные этапы. Классификация информации 25.5 KB
  Iя революция изобретение письменности. IIя революция сер. IIIя революция кон. IVя революция 70е гг.