본문으로 건너뛰기
cccskills
무료GitHub에 공개

precise

Online (incremental) covariance, correlation, and precision estimation in Python — the streaming complement to sklearn.covariance. Use when code needs a covariance/correlation matrix updated per observation, recomputes np.cov/np.corrcoef in a rolling loop, must judge or compare covariance estimates, or proposes a new covariance methodology. Points to task-specific skills.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(200)

  • SKILL.md3.1 KB
  • .claude/skills/assess-covariance-method/SKILL.md6.8 KB
  • .claude/skills/choose-covariance-estimator/SKILL.md1.9 KB
  • .claude/skills/estimate-online-covariance/SKILL.md2.1 KB
  • .claude/skills/keyed-dynamic-universe/SKILL.md2.0 KB
  • .claude/skills/README.md1.3 KB
  • .claude/skills/score-covariance-estimate/SKILL.md2.5 KB
  • .github/smoke.py1.1 KB
  • .github/workflows/ci.yml3.4 KB
  • .github/workflows/install-smoke.yml1.8 KB
  • .github/workflows/joss-draft.yml675 B
  • .github/workflows/publish.yml3.1 KB
  • .gitignore2.0 KB
  • .pre-commit-config.yaml378 B
  • .well-known/funding-manifest-urls47 B
  • AI_USE.md4.1 KB
  • CHANGELOG.md6.6 KB
  • CITATION.cff1.4 KB
  • CODE_OF_CONDUCT.md5.5 KB
  • CONTRIBUTING.md6.1 KB
  • docs/_paper_template.html2.1 KB
  • docs/_webtex.py1.6 KB
  • docs/.nojekyll0 B
  • docs/academic.css7.5 KB
  • docs/build_paper.sh2.9 KB
  • docs/CNAME27 B
  • docs/favicon.ico10.9 KB
  • docs/index.html13.9 KB
  • docs/maps/index.html3.6 KB
  • docs/maps/schur-damping/index.html29.2 KB
  • docs/paper/index.html330 B
  • docs/papers/index.html5.5 KB
  • docs/papers/online-spectral-calibration/index.html24.3 KB
  • docs/papers/online-spectral-calibration/online_spectral_calibration.pdf184.3 KB
  • docs/papers/schur-likelihood/figures/corr_gamma_star.png57.4 KB
  • docs/papers/schur-likelihood/figures/generalize_domains.png175.1 KB
  • docs/papers/schur-likelihood/figures/known_blocks.png141.0 KB
  • docs/papers/schur-likelihood/figures/scoring_selection_crypto.png113.4 KB
  • docs/papers/schur-likelihood/index.html30.8 KB
  • docs/papers/schur-likelihood/schur_likelihood_paper.pdf531.8 KB
  • docs/papers/two-sides-of-schur-damping/index.html31.5 KB
  • docs/papers/two-sides-of-schur-damping/two_sides_of_schur_damping.pdf72.6 KB
  • LICENSE1.0 KB
  • LITERATURE.md168.5 KB
  • MIGRATING.md2.9 KB
  • papers/__init__.py0 B
  • papers/arxiv/two_sides_of_schur_damping/refs.bib6.8 KB
  • papers/arxiv/two_sides_of_schur_damping/SUBMISSION.md3.0 KB
  • papers/arxiv/two_sides_of_schur_damping/two_sides_of_schur_damping_arxiv.tar.gz7.5 KB
  • papers/arxiv/two_sides_of_schur_damping/two_sides_of_schur_damping.bbl3.1 KB
  • papers/arxiv/two_sides_of_schur_damping/two_sides_of_schur_damping.pdf189.2 KB
  • papers/arxiv/two_sides_of_schur_damping/two_sides_of_schur_damping.tex16.0 KB
  • papers/covariance_evaluation.md8.3 KB
  • papers/evaluation_and_generation_review.md18.5 KB
  • papers/figures/corr_gamma_star.png57.4 KB
  • papers/figures/generalize_domains.png175.1 KB
  • papers/figures/known_blocks.png141.0 KB
  • papers/figures/scoring_selection_crypto.png113.4 KB
  • papers/joss/paper.bib3.4 KB
  • papers/joss/paper.md10.2 KB
  • papers/medium/img/eq_gamma_bridge.png9.9 KB
  • papers/medium/img/eq_gamma_star.png13.7 KB
  • papers/medium/img/eq_likelihood.png15.5 KB
  • papers/medium/schur_medium.md7.1 KB
  • papers/online_spectral_calibration/online_spectral_calibration.pdf184.3 KB
  • papers/online_spectral_calibration/online_spectral_calibration.tex15.2 KB
  • papers/online_spectral_calibration/README.md1.4 KB
  • papers/precise_paper.md13.0 KB
  • papers/refs.bib9.7 KB
  • papers/Schur_Complementary_Portfolios_CQF_Slides_Updated.pdf4.1 MB
  • papers/Schur_Complementary_Portfolios_CQF_Slides.pdf1.9 MB
  • papers/Schur_Complementary_Portfolios_Peter_Cotton.pdf4.1 MB
  • papers/schur_likelihood_paper.pdf531.8 KB
  • papers/schur_likelihood_paper.tex19.1 KB
  • papers/two_sides_of_schur_damping.pdf72.6 KB
  • papers/two_sides_of_schur_damping.tex18.5 KB
  • precise/__init__.py3.2 KB
  • precise/_conventions.py1.6 KB
  • precise/_linalg.py5.9 KB
  • precise/_recommender_model.py6.8 KB
  • precise/_state.py2.7 KB
  • precise/adaptive.py3.1 KB
  • precise/assessment/__init__.py961 B
  • precise/assessment/assessors.py7.4 KB
  • precise/assessment/base.py1.7 KB
  • precise/assessment/registry.py1.3 KB
  • precise/base.py13.7 KB
  • precise/block_covariance.py5.3 KB
  • precise/conditional.py7.1 KB
  • precise/dcc.py3.0 KB
  • precise/diagonal.py2.0 KB
  • precise/empirical.py974 B
  • precise/ewa.py1.0 KB
  • precise/factor.py3.4 KB
  • precise/geodesic.py2.2 KB
  • precise/huber.py2.1 KB
  • precise/keyed.py12.6 KB
  • precise/ledoitwolf.py3.1 KB
  • precise/nonlinear_shrinkage.py19.6 KB
  • precise/oas.py1.8 KB
  • precise/partialmoments.py2.8 KB
  • precise/py.typed0 B
  • precise/recommend.py6.4 KB
  • precise/registry.py2.8 KB
  • precise/schur_conditional.py5.5 KB
  • precise/schur_ledoit_wolf.py4.7 KB
  • precise/schurcov.py3.1 KB
  • precise/shrunk.py3.0 KB
  • precise/skaters/__init__.py883 B
  • precise/tyler.py2.6 KB
  • pyproject.toml3.1 KB
  • README.md13.7 KB
  • research/__init__.py0 B
  • research/bakeoff.py7.2 KB
  • research/data/ff100_portfolios_daily.csv2.1 MB
  • research/data/ff49_industry_daily.csv1.1 MB
  • research/forgetting.py5.8 KB
  • research/legacy_skatervaluation/__init__.py0 B
  • research/legacy_skatervaluation/battledata/__init__.py0 B
  • research/legacy_skatervaluation/battledata/allsources.py1.7 KB
  • research/legacy_skatervaluation/battledata/m6implied.py2.2 KB
  • research/legacy_skatervaluation/battledata/m6source.py1.5 KB
  • research/legacy_skatervaluation/battledata/README.md166 B
  • research/legacy_skatervaluation/battledata/sourceconventions.py206 B
  • research/legacy_skatervaluation/battledata/stockssource.py1.0 KB
  • research/legacy_skatervaluation/battledata/tmsource.py1.3 KB
  • research/legacy_skatervaluation/battlelatex/__init__.py0 B
  • research/legacy_skatervaluation/battlelatex/tables.py3.9 KB
  • research/legacy_skatervaluation/battleresults/cov_likelihood/m6_daily_p100_n200_implied/da927311-576a-4f99-b5d3-d44bf26c2ae0.json90.8 KB
  • research/legacy_skatervaluation/battleresults/cov_likelihood/m6_daily_p100_n200/5b79538d-ec7f-4f89-9f5f-bc23ee5b21b9.json17.0 KB
  • research/legacy_skatervaluation/battleresults/cov_likelihood/stocks_1_days_p500_n500/32f8cc42-33ba-4a16-b0a4-da1bbaf4b5a2.json1.1 KB
  • research/legacy_skatervaluation/battleresults/cov_likelihood/stocks_1_days_p500_n500/84d259cb-6dbc-4f50-b8f5-d6e8fe4b7f65.json895 B
  • research/legacy_skatervaluation/battleresults/cov_likelihood/stocks_1_days_p500_n500/8bb02655-a6eb-4bc2-9147-d1da23a1e589.json2.6 KB
  • research/legacy_skatervaluation/battleresults/cov_likelihood/stocks_1_days_p500_n500/a8ac4086-3bf8-47b7-a51f-fc5c343ae8bd.json21.6 KB
  • research/legacy_skatervaluation/battleresults/cov_likelihood/stocks_1_days_p500_n500/d26bafb5-25ef-43aa-afda-0e3ac19c4e47.json3.7 KB
  • research/legacy_skatervaluation/battleresults/cov_likelihood/stocks_1_days_p500_n500/de1d4719-6f42-49be-8968-33eafe5df767.json8.6 KB
  • research/legacy_skatervaluation/battleresults/cov_likelihood/stocks_20_days_p199_n50/78392ade-a191-4232-a674-96290761f481.json135.9 KB
  • research/legacy_skatervaluation/battleresults/cov_likelihood/stocks_20_days_p199_n50/91684d1f-8754-4b2b-a5ab-da3ab4582552.json184.8 KB
  • research/legacy_skatervaluation/battleresults/cov_likelihood/stocks_5_days_p25_n20/2e4376f1-26b1-4367-b087-5eb5697ef637.json93.2 KB
  • research/legacy_skatervaluation/battleresults/cov_likelihood/stocks_5_days_p25_n20/389ea8be-6e10-435e-9789-b6e6d66da91c.json35.4 KB
  • research/legacy_skatervaluation/battleresults/cov_likelihood/stocks_5_days_p25_n20/bd6a3e88-6e11-4ef0-885a-6281f6372eb5.json166.3 KB
  • research/legacy_skatervaluation/battleresults/cov_likelihood/stocks_5_days_p25_n20/ca6c7927-f24f-4fa9-b678-7c91ee0d2ad7.json4.6 KB
  • research/legacy_skatervaluation/battleresults/cov_likelihood/stocks_5_days_p25_n20/de157934-28a3-42f1-aa12-f13a33c22f48.json18.3 KB
  • research/legacy_skatervaluation/battleresults/cov_likelihood/stocks_5_days_p499_n50/4c110f3b-ce94-4374-81f9-60046d80fb68.json12.4 KB
  • research/legacy_skatervaluation/battleresults/cov_likelihood/stocks_5_days_p499_n50/783420d0-8c5f-43a6-86f4-b022cf05ff2a.json6.6 KB
  • research/legacy_skatervaluation/battleresults/cov_likelihood/stocks_5_days_p50_n150/3f18bf47-8b8e-4169-a730-d18d04a4e223.json6.0 KB
  • research/legacy_skatervaluation/battleresults/cov_likelihood/stocks_5_days_p50_n150/69d372dc-0628-41f7-af8c-6cba410d9c8f.json915 B
  • research/legacy_skatervaluation/battleresults/cov_likelihood/stocks_5_days_p50_n150/6a144f5a-09b1-480d-b741-e9b42ca34ade.json74.0 KB
  • research/legacy_skatervaluation/battleresults/cov_likelihood/stocks_5_days_p50_n150/6c49d460-69b8-4d9a-a9e6-85116505fece.json114.6 KB
  • research/legacy_skatervaluation/battleresults/cov_likelihood/stocks_5_days_p50_n150/7177a224-f968-4c9a-9b39-93594eef3ed2.json110.2 KB
  • research/legacy_skatervaluation/battleresults/cov_likelihood/stocks_5_days_p50_n150/e014aae8-719b-4443-85d8-20031eba4949.json20.9 KB
  • research/legacy_skatervaluation/battleresults/cov_likelihood/stocks_5_days_p50_n70/08791c76-3c31-4697-a768-520c035f18f6.json2 B
  • research/legacy_skatervaluation/battleresults/cov_likelihood/tm_residuals_p100_n200/c5e5b6a0-bc17-4e8d-90cb-1ffa8eebcba5.json139.2 KB
  • research/legacy_skatervaluation/battleresults/cov_likelihood/tm_residuals_p20_n400/e66027fe-dccc-47b3-9a9b-90faab0011fa.json126.4 KB
  • research/legacy_skatervaluation/battleresults/cov_likelihood/tm_residuals_p20_n400/ee3f0dd5-73d5-4dd9-b081-2ebab1a542c0.json134.9 KB
  • research/legacy_skatervaluation/battleresults/cov_likelihood/tm_residuals_p25_n200/082a0ec9-8e2a-425f-ad6d-22577f5b4551.json116.5 KB
  • research/legacy_skatervaluation/battleresults/cov_likelihood/tm_residuals_p25_n200/550988b9-d6f1-4eaa-9d39-9855b8c5d312.json2 B
  • research/legacy_skatervaluation/battleresults/cov_likelihood/tm_residuals_p25_n200/60b96d5b-c4fb-44ad-b4f0-e70fcbf802b4.json115.5 KB
  • research/legacy_skatervaluation/battleresults/elo_cov_likelihood.csv52.2 KB
  • research/legacy_skatervaluation/battleresults/elo_manager_info.csv29.2 KB
  • research/legacy_skatervaluation/battleresults/elo_manager_var.csv44.5 KB
  • research/legacy_skatervaluation/battleresults/example_manager_regressor_frame.csv22.4 KB
  • research/legacy_skatervaluation/battleresults/manager_info/__init__.py0 B
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_1_days_p500_n90/062bc09f-1a01-4a32-9329-36ef5164aeaa.json1.4 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_1_days_p500_n90/345c8687-960a-413d-8ef4-a503aeed8459.json4.1 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_1_days_p500_n90/5ab9bca7-ec6e-4dc5-ab07-8946aebecf31.json74.5 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_1_days_p500_n90/64578c74-9cf6-40c9-ba0f-bbe01a498335.json75.2 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_1_days_p500_n90/a22f282d-9f62-42a0-bdc9-d7e86b67911a.json17.3 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_1_days_p500_n90/ae35148d-a9cf-4e02-be54-75b65bb3dc53.json325.0 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_1_days_p500_n90/af0cb843-6191-4c5c-a9af-b626a17895eb.json3.5 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_1_days_p500_n90/f4c6d883-c2aa-4e45-8948-69dc6406b34d.json11.8 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_1_days_p500_n90/f766a768-6baa-46c9-87fc-ae00f9a56b7a.json374.6 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_20_days_p100_n100/0ec73165-3623-48fb-8a80-3be37d4056f3.json3.5 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_20_days_p100_n100/50fda3c4-931d-4111-b793-17516c0bf821.json2.0 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_20_days_p100_n100/842898cc-f3af-4725-b7ef-f21d37c956a4.json4.1 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_20_days_p100_n100/912721dd-77ad-4e6d-addb-d7de31806edb.json69.9 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_20_days_p100_n100/a8cc7e99-1581-40b5-8ce9-bcf9a8b7ff99.json10.6 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_20_days_p100_n100/aa33eaf2-d498-4bc9-aacb-31b2b4b7eb7a.json1.9 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_20_days_p100_n100/b7f10c8e-3cff-4350-b2d6-4deddadb76fe.json18.0 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_20_days_p100_n100/b8e76fe2-2644-42e5-8e5e-81721bbeeb65.json14.6 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_20_days_p100_n100/c710f5d6-80fe-426c-8f8c-e04ad6ac345a.json34.8 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_20_days_p100_n100/d3123ba3-8e48-4ff4-a133-2e0a1b8807ad.json11.5 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_20_days_p100_n100/e1380d32-9a68-477b-81f3-97b595ea76f5.json155.0 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_20_days_p100_n100/f4c76c10-5900-4bea-a1a4-845281473bd6.json31.4 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_3_days_p151_n100/26d3e726-fd6e-43f6-849a-c9853a58adb5.json25.5 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_3_days_p151_n100/c4c1a9e2-1dd6-4301-ba71-b26d25551d2e.json25.5 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_3_days_p21_n100/7a82c910-3f22-4a4e-abdc-295bce032c0b.json25.6 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_3_days_p251_n100/0c2a1418-dda0-4cb9-976c-f956d9af9bff.json25.6 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_3_days_p251_n100/1d6eaae9-7284-472f-b1fe-6915a6ac3e92.json25.6 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_3_days_p251_n100/2c2a9c40-ffeb-4204-9109-2dbf82554791.json25.6 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_3_days_p251_n100/681c359e-237a-4df4-80c5-6702c60343e9.json13.2 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_3_days_p251_n100/91236476-2470-40d9-ba8b-c7f7828e231f.json24.0 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_3_days_p31_n100/c86ba189-25c7-4ec0-9ecd-0b4d23f83320.json25.6 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_3_days_p41_n100/3264b8d2-12b1-4308-b4e2-d314c46e1e73.json25.9 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_3_days_p501_n100/734757fb-7f82-41c6-bf16-7d7c4a5a38e5.json25.8 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_3_days_p501_n100/9a2d8aef-8f17-45d5-a224-d598a28345ff.json18.9 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_3_days_p51_n100/0a74409d-0a79-48fe-945b-02ff5b2ed257.json25.5 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_5_days_p100_n100/5001d3fb-e869-4e7a-a807-90b1480bdc8a.json7.8 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_5_days_p500_n200/1573ec37-4592-499c-afc4-a25bbfec98a1.json54.6 KB
  • research/legacy_skatervaluation/battleresults/manager_info/stocks_5_days_p500_n200/245ace06-4bed-4506-aa7f-d89fbc2c789e.json180.3 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

precise

precise is a small, numpy-only library of online (incremental) covariance and correlation estimators behind one sklearn-style partial_fit contract — plus a panel of assessors for scoring an estimate and a recommender for choosing one. It is the streaming complement to sklearn.covariance, whose estimators are batch-only.

pip install precise
from precise import EwaCovariance
est = EwaCovariance(r=0.05)
for y in stream:            # y is one observation (1-D)
    est.partial_fit(y)
est.covariance_             # symmetric PSD; also .correlation_ / .precision_ / .location_

Reach for precise when you see

  • a covariance/correlation matrix being recomputed in a rolling loop (np.cov / np.corrcoef, pandas .rolling().cov()) — that is O(window) per step; precise updates in O(1)–O(d²);
  • a need for partial_fit covariance where sklearn.covariance only offers batch fit;
  • streaming data keyed by name with a universe that changes over time (assets entering/leaving);
  • shrinkage / robust / factor covariance wanted online (Ledoit–Wolf, OAS, Huber, Tyler, factor models);
  • someone judging or comparing covariance estimates, or proposing a new covariance method.

Task-specific skills

Fetch the relevant one for copy-pasteable code and guardrails:

One guardrail worth knowing up front

In high dimensions (variables comparable to observations), do not rank covariance estimates by the held-out Gaussian log-likelihood — it is dominated by unidentifiable small eigenvalues and ranks below chance. Use inversion-free / block judges instead (see the scoring skill). Background: https://precise.microprediction.org/papers/schur-likelihood/.

Reference

Docs https://precise.microprediction.org · PyPI https://pypi.org/project/precise/ · Repo https://github.com/microprediction/precise.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Rigorously and honestly assess a NEW or proposed covariance / correlation / precision estimator, or a new covariance scoring rule, using precise. Use when someone proposes, asks to evaluate, or wants to compare a covariance methodology. Covers implementing it to the contract, conformance, benchmarking against the registry, out-of-sample validation, and statistically defensible inference.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

microprediction/precise3372026년 10월 6일 업데이트

Pick which precise covariance estimator to use for a given dataset. Use when you have data X and are unsure which estimator fits its dimension, conditioning, or tail behavior. Wraps precise.suggest() and covariance_features().

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

microprediction/precise3372026년 10월 6일 업데이트

Estimate a covariance / correlation / precision matrix incrementally with precise. Use when data arrives as a stream and you want the matrix updated per observation, or when you want an online (partial_fit) drop-in for sklearn.covariance, which is batch-only.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

microprediction/precise3372026년 10월 6일 업데이트

Maintain an online covariance over named series whose set changes over time (e.g. assets entering and leaving). Use when observations arrive as dicts keyed by name rather than fixed-length vectors. Wraps precise's keyed / FixedUniverse / DynamicUniverse adapters.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

microprediction/precise3372026년 10월 6일 업데이트

Score and compare covariance estimates with precise's assessor panel. Use when you need to judge an estimate out-of-sample or rank competing estimators — and especially in high dimensions, where the plain held-out likelihood is misleading.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

microprediction/precise3372026년 10월 6일 업데이트

microprediction의 스킬 모두 보기

이 스킬의 문제 신고