Modelarea globală cu Gluonts Deepar: Viitorul semiconductorilor din SUA

URMĂREȘTE-NE
16,065FaniÎmi place
1,142CititoriConectați-vă

(Acest articol a fost publicat pentru prima dată pe DateAgeeekși a contribuit cu drag la R-Bloggers). (Puteți raporta problema despre conținutul de pe această pagină aici)


Doriți să vă împărtășiți conținutul pe R-Bloggers? Faceți clic aici dacă aveți un blog sau aici dacă nu.

Bernstein a efectuat o analiză a echilibrului ofertei și cererii din SUA în semiconductori analogici și discrete, în special în lumina introducerii potențiale a tarifelor din secțiunea 232. Analiza se concentrează pe implicațiile pentru companiile majore, inclusiv instrumentele Texas, dispozitive analogice, Infineon Technologies și Renesas.

Potrivit analiștilor conduși de David Dai, dacă SUA aduce cu succes mai multe producții de aplicații finale din nou, cererea pentru aceste produse poate crește și mai mult. Cu toate acestea, în prezent, nu există un decalaj semnificativ care să conducă la o creștere substanțială a capacității de fabricație analogică și discretă în SUA

Infineon și Renesas au cel mai mare risc de expunere la tarife potențiale, datorită amprentei lor de producție relativ mici în SUA, în timp ce instrumentele din Texas și dispozitivele analogice, fiind bazate pe SUA, par a fi bine poziționate.

Graficul de mai jos indică faptul că toate prețurile acțiunilor menționate mai sus sunt în conformitate cu linia de prognoză a punctului Deepa Model, dar au o cameră potențială pentru a crește dacă se adaptează la schimbările lanțului de aprovizionare.

Cod sursă:

library(tidyverse)
library(tidymodels)
library(tidyquant)
library(timetk)
library(modeltime)
library(modeltime.gluonts)

#Texas Instruments Incorporated (TXN)
df_txn <- 
  tq_get("TXN") %>% 
  select(date, 'Texas Instruments' = close)

#Analog Devices, Inc. (ADI)
df_adi <- 
  tq_get("ADI") %>% 
  select(date, 'Analog Devices' = close)

#Infineon Technologies AG (IFNNY)
df_ifnny <- 
  tq_get("IFNNY") %>% 
  select(date, Infineon = close )

#Renesas Electronics Corporation (6723.T)
df_renesas <- 
  tq_get("6723.T") %>% 
  select(date, Renesas = close)


#Merging the datsets
df_merged <- 
  df_txn %>% 
  left_join(df_adi) %>% 
  left_join(df_ifnny) %>% 
  left_join(df_renesas) %>% 
  drop_na() %>% 
  filter(date >= last(date) - months(12)) %>% 
  pivot_longer(-date,
               names_to = "id",
               values_to = "value") %>% 
  mutate(id = as_factor(id)) 



#Split Data 
split <- time_series_split(df_merged,
                           assess = "15 days",
                           cumulative = TRUE)



df_train <- training(split)
df_test <- testing(split)


#Fit a GluonTS DeepAR Model
model_fit_deepar <- deep_ar(
  id                    = "id",
  freq                  = "D",
  prediction_length     = 11,
  lookback_length       = 22,
  epochs                = 10
) %>%
  set_engine("gluonts_deepar") %>%
  fit(value ~ ., df_train)

#Modeltime Table
model_tbl <- 
  modeltime_table(
    model_fit_deepar
  )


#Calibrate by ID
calib_tbl <- 
  model_tbl %>%
  modeltime_calibrate(
    new_data = df_test, 
    id       = "id"
  )

#Measure Test Accuracy

#Global Accuracy
calib_tbl %>% 
  modeltime_accuracy(acc_by_id = FALSE) %>% 
  table_modeltime_accuracy(.interactive = FALSE)

#Local Accuracy
calib_tbl %>% 
  modeltime_accuracy(acc_by_id = TRUE) %>% 
  table_modeltime_accuracy(.interactive = TRUE)

#Prediction Intervals
calib_tbl %>%
  modeltime_forecast(
    new_data    = df_test,
    actual_data = df_merged %>% filter(date >= as.Date("2025-07-31")),
    conf_by_id  = TRUE
  ) %>%
  group_by(id) %>%
  plot_modeltime_forecast(
    .facet_ncol  = 2,
    .interactive = FALSE,
    .line_size = 1
  )  +
  labs(title = "Global Modeling with Deep Learning Model", 
       subtitle = "Predictive Intervals of DeepAR Model Model", 
       y = "", x = "") + 
  scale_y_continuous(labels = scales::label_currency()) +
  scale_x_date(labels = scales::label_date("%b %d"),
               date_breaks = "3 days") +
  theme_tq(base_family = "Roboto Slab", base_size = 16) +
  theme(plot.subtitle = ggtext::element_markdown(face = "bold"),
        plot.title = element_text(face = "bold"),
        plot.background = element_rect(fill = "snow"),
        strip.text = element_text(face = "bold", color = "black"),
        strip.background = element_rect(fill =  "azure"),
        axis.text.x = element_text(angle = 45, hjust = 1, vjust = 1),
        legend.position = "none")

Dominic Botezariu
Dominic Botezariuhttps://www.noobz.ro/
Creator de site și redactor-șef.

Cele mai noi știri

Pe același subiect

LĂSAȚI UN MESAJ

Vă rugăm să introduceți comentariul dvs.!
Introduceți aici numele dvs.