vladawin2
27.12.2022 00:59

. На основании исходных данных постройте аддитивную модель временного ряда Месяц Удельный вес частного жилья в объеме строительства % Сентябрь 37,5 Октябрь 27,5 Ноябрь 23,5 Декабрь 41,0 Январь 43,3 Февраль 37,2 Март 33,4 Апрель 29,6 Май 31,1 Решение Временной ряд – совокупность значений какого-либо показателя за несколько последовательных моментов или периодов времени. Аддитивная модель – модель вида: Y=T+S+E, где Т - трендовая компонента; S – циклическая компонента; Е – случайная компонента. Алгоритм построения аддитивной модели. Шаг1. Выравнивание исходных уровней ряда методом скользящей средней: 1. Суммируем уровни ряда последовательно за каждый промежуток времени, в котором наблюдаются колебания со сдвигом на один момент времени и определяем условные величины показателя Y. 2. Делим полученные величины на число моментов времени в промежутке и находим скользящие средние. 3. Находим средние значения из двух последовательных скользящих средних – центрированные скользящие средние. Шаг 2. Оценка сезонной компоненты: 1. Находим оценку сезонной компоненты, как разность между фактическими уровнями ряда и центрированными скользящими средними. 2. Находим средние оценки сезонной компоненты за каждый промежуток времени, в котором наблюдаются колебания . 3. Исходя из условия взаимопогашения сезонных воздействий определяем корректирующий коэффициент k: в аддитивной модели ; где n – период колебаний. 4. Рассчитываем скорректированные значения сезонных компонент: в аддитивной модели: Шаг 3. Элиминирование влияния сезонной компоненты: Находим значения Т+Е как Y-S – в аддитивной модели. Шаг 4. Определение трендовой компоненты ряда. 1. Трендовая компонента ряда определяется с построения регрессионной модели, параметры которой находятся методом наименьших квадратов. 2. С уравнения регрессии находим уровни трендовой компоненты Т для каждого момента времени t. Шаг 6. Находим значения Т+S. Шаг 7. Находим случайную компоненту Е= Y-(T+S) Шаг 8. Оценка качества модели. 1. Находим сумму квадратов случайной компоненты. 2. Находим отношение суммы квадратов случайной компоненты к общей сумме квадратов отклонений уровней ряда от его среднего значения: % Пример выполнения Шаг1. Выравнивание исходных уровней ряда методом скользящей средней: Расчеты отобразим в таблице 1. Таблица 1. Выравнивание исходных уровней ряда t Итого за 3 месяца. скользящая средняя центрированная скользящая средняя Оценка сезонной компоненты 1 36,40 - - - - 2 28,60 87,40 29,13 - - 3 22,40 93,30 31,10 30,12 -7,72 4 42,30 106,30 35,43 33,27 9,03 5 41,60 123,10 41,03 38,23 3,37 6 39,20 113,20 37,73 39,38 -0,18 7 32,40 102,40 34,13 35,93 -3,53 8 30,80 92,80 30,93 32,53 -1,73 9 29,60 60,40 - - - Итого 303,3 778,9 239,48 209,46 -0,76 Выбираем метод сглаживания скользящей средней по трем соседним компонентам ряда. Скользящая средняя . Остальные столбцы вычисляем согласно описанию

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
лера2083
04.06.2023 02:55
PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018
Внимание! Если программа не работает, обновите версию!

№1

function IsGood(n:integer):boolean;
begin
  n:=Abs(n);
  var s:=0;
  while n>0 do begin
    s+=n mod 10;
    n:=n div 10
    end;
  Result:=s=10
end;

begin
  var k:=ReadSeqIntegerWhile(t->t<>0).Where(t->IsGood(t)).Count;
  Writeln(k,' чисел с суммой цифр, равной 10')
end.

Пример
-5234 20043 52340 10531 -64 31502 0
2 чисел с суммой цифр, равной 10

№2

begin
  var n:=ReadInteger('Введите число:');
  if n<=1 then Writeln(n,'!=',1)
  else Writeln(n,'!=',1.To(n).Aggregate(BigInteger(1),(i,j)->i*j))
end.

Примеры
Введите число: 5
5!=120

Введите число: 20
20!=2432902008176640000

Введите число: 100
100!=93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000

№3

begin
  if ReadInteger('Введите число:').ToString.GroupBy(t->t).
      Select(t->(t.Key,t.Count)).Any(t->t[1]>1)
  then Writeln('Число содержит по крайней мере две одинаковые цифры')
  else Writeln('Введенное число не содержит одинаковых цифр')
end.

Примеры
Введите число: 12345670
Введенное число не содержит одинаковых цифр

Введите число: 1320624
Число содержит по крайней мере две одинаковые цифры
0,0(0 оценок)
Ответ:
KemPerOo
04.06.2023 02:55
1)
var i,a:Integer;
begin
a:= 1;
while a<>0 do
begin
Read(a);
i+=a;
end;
WriteLn(i=10);
end.

2) Можно через double. Но после 170! уже бесконечность.
var n:Integer;
var b:double;
begin
b:=1;
Read(n);
for var i:= 1 to n do
b*=i;
WriteLn('factorial '+n+' = '+b);
end.

3) Работает как и с числами так и со строками.
var arr:array of char;
var a:String;
var first,last:Integer;
begin
Read(a);
arr:= a.ToCharArray();
for var i:= 0 to arr.Length-1 do
begin
first:=Pos(arr[i], a);
last:=Pos(arr[i], a,first+1);
if (first>0) and (last > 0) and (first<>last) then
begin
first:=99;
break;
end;
end;
if first = 99 then
WriteLn('Содержит. Это число '+arr[last-1])
else
WriteLn('Несодержит.');
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота