How do I make sense of 200 regression models? I'm dealing with a dataset that has about 300 input features, and about 200 response variables and consists of 25000 samples. These response variables are basically a profile of 200 different values of the same response and these are 200 sequential geometrical points along the 1D line. You can visualize this as a line graph of 200 points for each observation. These points are the different regions/zones across a plate at which the response variable is being measured during manufacturing. The input features are different process conditions set in different processes during the manufacturing of this plate such as thickness, temperature, pressure etc.
There are two objectives:  


*

*To build a model/s that predicts the profile of the response variable. In other words, the model should predict the response at 200 different points across the plate.

*Determine the important features (predictors) that affect the response variable. Ideally, this response variable should be uniform across the entire profile. So by tweaking the features, I should be able to control the response variable.
Now, predicting these 200 values is equivalent to building 200 models and I'm not sure how to draw inference from these 200 models. I tried doing a PCA on these 200 response variables to reduce them to a reasonable size but the variance is unstable and I'd require about 130 PC's to explain 90% of the variance. So PCA doesn't make sense. The points in a neighborhood seem to be closely correlated with each other. I'm not sure if you can call it spatial correlation because these points are along 1D line as opposed to 2D plane or 3D space. I'd greatly appreciate if someone can point me in the right direction in dealing with this problem. 
The layout of the plate is about 7ft*5ft and some of the process parameters(input features) also are set and measured at different geometrical points across the plate like the target variable. After building the model and extracting significant predictors, I probably have to do some kind of optimization for finding the best combination of all input variables to achieve the uniformity of the target variable across all the measurements.
 A: If I understood your data correctly, one method would be calculating feature importances for each model and maybe plotting them. Below is an example beeswarm plot and code in R for 198 different models that predict wind speed of storms using four features, with the features in decreasing order by average importances. Each point represents one feature importance of one model for the specific feature, and the vertical lines represent the mean feature importances for each predictor. If you have many predictors, you could limit them to the n most important as calculated by average feature importance.

library(dplyr) # data wrangling
library(purrr) # map function
library(tidyr) # nest function and pivot
library(caret) # varImp function
library(ggplot2) # plotting
library(ggbeeswarm) # plot type

data("storms")

# Nest data for each storm
nested <- storms %>% 
  group_by(name) %>%
  select(name, wind, month, pressure, lat, long) %>% 
  nest(data = c(wind, month, pressure, lat, long))

# Make models for each storm and store in tibble
models <- nested %>% 
  mutate(model = map(.x = data, ~lm(wind ~ month + pressure + lat + long,
                                    data = .x)))

# Combine the importances in a data frame
importances <- c()
for(i in 1:nrow(models)){
  x <- as.data.frame(t(varImp(models$model[[i]])))
  if(i == 1){
    importances <- x
  } else {
    importances <- suppressMessages(full_join(importances, x))
  }
}

# Replace invalid values and min-max scale
importances_scaled <- importances %>% 
  mutate_all(function(x) ifelse(is.infinite(x) | is.na(x) | is.nan(x), 0, x)) %>% 
  mutate_all(function(x) {(x - min(x, na.rm = TRUE)) /
      (max(x, na.rm = TRUE) - min(x, na.rm = TRUE)) * 100
  })

# Pivot for plotting and join means
to_plot <- importances_scaled %>% 
  pivot_longer(month:long, names_to = "Feature", values_to = "Importance") %>% 
  inner_join(importances_scaled %>% 
               summarise_all(mean) %>% 
               pivot_longer(month:long, names_to = "Feature", values_to = "Mean"))

# Plot from most important to least important
to_plot %>% 
  ggplot(aes(x = reorder(Feature, Mean),
             y = Importance,
             color = Feature)) +
  geom_quasirandom() +
  geom_point(data = to_plot %>%
               select(Feature, Mean) %>%
               distinct(), aes(Feature, Mean),
             shape = "|", size = 20, color = "black", alpha = 0.4) +
  coord_flip() +
  theme_minimal() +
  theme(legend.position = "none") +
  xlab("") +
  ylab("Feature importance") +
  ggtitle("Models for predicting wind speeds of tropical storms",
          subtitle = paste("Average feature importance from 0 to 100 for",
                           nrow(models), "different storms, means as vertical lines"))

A: Not a full answer so long, but trying to answer the literal question in the title what to do with so many regressions. So, you have 200 similar regression models for some parallel data. Each response is "the same" variable measured at different points. So presumably, the estimated coefficients ought to be similar. So make some plots:


*

*For each estimated model, for each coefficient make a plot of $\hat{\beta}$ versus position along the line. Can you see some structure? For important coefficients, the spread should be away from zero. For unimportant ones spread around zero. That could give an idea for some descriptive statistics to calculate on the 200 coefficients ... 

*If there are outliers in the plots, do they tend to occur at the same positions or not? Do the plots look approximately horizontal, or some structure? Structure the same/different for different plots? Effects near the edges? ...
Generally, with such rich/complex data it is maybe a good idea not to go straight into complex modeling, but really look at/visualize the data in many ways. There is a lot of internal replication, exploit that!. Andrew Gelman has written about that here.
