Init simple web-app
This commit is contained in:
77
app.qmd
Normal file
77
app.qmd
Normal file
@@ -0,0 +1,77 @@
|
||||
---
|
||||
title: "Data Science Methods for Forecasting in Energy and Economics"
|
||||
date: 2025-07-10
|
||||
format:
|
||||
revealjs:
|
||||
embed-resources: true
|
||||
footer: ""
|
||||
execute:
|
||||
daemon: false
|
||||
highlight-style: github
|
||||
---
|
||||
|
||||
#### B-spline Basis Functions
|
||||
|
||||
```{ojs}
|
||||
bsplineData = FileAttachment("basis_functions.csv").csv({ typed: true })
|
||||
```
|
||||
|
||||
```{ojs}
|
||||
knotValues = Array.from(new Set(bsplineData.map(d => d.knots))).sort((a, b) => a - b)
|
||||
minKnots = Math.min(...knotValues)
|
||||
maxKnots = Math.max(...knotValues)
|
||||
|
||||
muValues = Array.from(new Set(bsplineData.map(d => d.mu))).sort((a, b) => a - b)
|
||||
minMu = Math.min(...muValues)
|
||||
maxMu = Math.max(...muValues)
|
||||
```
|
||||
|
||||
```{ojs}
|
||||
// Create a more compact layout for controls
|
||||
viewof controls = Inputs.form({
|
||||
knots: Inputs.range([minKnots, maxKnots], {value: minKnots, step: 1, label: "Knots:", width: 200}),
|
||||
mu: Inputs.range([minMu, maxMu], {value: 0.5, step: 0.1, label: "μ:", width: 200})
|
||||
}, {
|
||||
submit: false,
|
||||
layout: 'horizontal',
|
||||
style: 'display: flex; gap: 20px; align-items: center; margin-bottom: 10px; font-size: 0.9em;'
|
||||
})
|
||||
|
||||
selectedKnots = controls.knots
|
||||
selectedMu = controls.mu
|
||||
```
|
||||
|
||||
```{ojs}
|
||||
filteredBspline = bsplineData.filter(function(row) {
|
||||
return selectedKnots == row.knots && Math.abs(selectedMu - row.mu) < 0.001;
|
||||
})
|
||||
```
|
||||
|
||||
```{ojs}
|
||||
Plot.plot({
|
||||
grid: true,
|
||||
y: {domain: [0, 0.7]},
|
||||
x: {label: "x", domain: [0, 1]},
|
||||
marks: [
|
||||
Plot.line(filteredBspline, {
|
||||
x: "x",
|
||||
y: "y",
|
||||
stroke: "b",
|
||||
strokeWidth: 5,
|
||||
}),
|
||||
Plot.ruleY([0])
|
||||
],
|
||||
color: {
|
||||
legend: false,
|
||||
label: "Basis Function"
|
||||
},
|
||||
marginRight: 80,
|
||||
width: 800,
|
||||
height: 400,
|
||||
// title: `B-spline Basis Functions (${selectedKnots} knots, μ = ${selectedMu})`
|
||||
})
|
||||
```
|
||||
|
||||
::: {.callout-note}
|
||||
TODO
|
||||
:::
|
||||
Reference in New Issue
Block a user